DataGridView e icone

venerdì 31 ottobre 2008 - 19.16

riminese77 Profilo | Junior Member

Ciao a tutti, da un po' di tempo la mia Datagrid da i numeri.... io aggiorno la datagrid con dataset, e il campo icona nel Db è string es: x.ico .

Per inserire i dati uso questo codice:
ListaLavori.AutoGenerateColumns = False
ListaLavori.RowTemplate.Height = 40

sql = "Select * from TabScadenzaDir"
'oggetto connection
cn.Open()
'creo un dataset
Dim dtsdati As New DataSet
'creo un oggetto di tipo dataAdapter
Dim DtaDati As New OleDbDataAdapter(sql, cn)
'valorizzo il dataset
DtaDati.Fill(dtsdati, "TabScadenzaDir")
'creazione della colonna icona
Dim ColumnIcona As New DataGridViewImageColumn
ColumnIcona.DataPropertyName = "Icona"
ColumnIcona.HeaderText = "Icona"
ColumnIcona.Name = "Ico"
ColumnIcona.Width = 40

ListaLavori.Columns.Insert(0, ColumnIcona)

ListaLavori.DataSource = dtsdati
ListaLavori.DataMember = "TabScadenzaDir"

Nell'evento cell.formatting :
If e.ColumnIndex = ListaLavori.Columns("icona").Index _
AndAlso Not (e.Value Is Nothing) Then

Dim bmp As New Bitmap("C:\temp\" & CType(e.Value, String))
e.Value = bmp
End If
E' andato sempre bene, ma poi chiudendolo e riaprendolo.. magia non funge.Ho compattato il Db, ho cancellato e rifatto la datagrid, le tabelle ecc ecc... ogni tanto ha funzionato ma poi... l'errore che solleva è : Cast invalid da STRING a IMAGE non valido... ma come dicevo ha sempre funzioanto.. qualche idea?

Son disperato! :)

19018 Profilo | Expert

ciao, credo che l'errore sia qui :

Dim bmp As New Bitmap("C:\temp\" & CType(e.Value, String))
e.Value = bmp

non ricordo bene, e.Value è di tipo string e tu gli stai passando un tipo Bitmap.
A prima vista mi viene da dire così..ma è strano che prima ti abbia funzionato.

ciao
Stefano Passatordi

http://blogs.dotnethell.it/stem/

riminese77 Profilo | Junior Member

e.value assume il valore a seconda del campo dove si pone, in questo caso deve essere un immagine, e la bitmap va bene.Ora faccio cmq delle prove a variare il tipo di dato.
Invio in allegato il mio progetto così si può simulare l'errore.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5