How to: Manipulate Rows in the Windows Forms DataGridView Control
https://msdn.microsoft.com/en-us/lib...v=vs.110).aspx
How to: Manipulate Rows in the Windows Forms DataGridView Control
https://msdn.microsoft.com/en-us/lib...v=vs.110).aspx
Gibra grazie per il codice! Però (forse non ho colto io...) non mi sembra che risolva il mio dubbio! Dubbio che a sto punto forse ho spiegato male....
Io so come inserire dei dati in una riga del datagridview...il mio problema è che voglio manipolare le proprietà della riga in fase di inserimento!
Ipotizzate di avere 3 record.
2 contengono dei dati positivi e 1 dei dati negativi...
Io voglio che nel mio ciclo che popola le righe, la riga con i dati negativi abbia colore rosso di sfondo...
e vorrei farlo nel ciclo stesso mentre inserisco le righe...
(se no dovrei riciclare tutta la datagridview e se le righe son molte diventa davvero uno spreco di risorse...)
Esistendo un oggetto "dataGridViewRow" che può essere manipolato prima di essere passato alla funzione "rows.add()" pensavo nel ciclo di creare tale oggetto, impostarne le proprietà grafiche (in questo caso il back color) a seconda dei dati che contiene e poi inserisci i dati...
purtroppo lavorando con questo "oggetto" non riesco ad inserirceli...
Per spiegarmi ancora meglio:
ecco ho provato così...codice:Dim miaRiga As New DataGridViewRow If status = 0 Then miaRiga.DefaultCellStyle.BackColor = Color.DarkRed End If miaRiga.SetValues("mio valore", "mio valore 2", "mio valore 3") dgvMens.Rows.Add(miaRiga)
- la riga la aggiunge
- il colore è giusto
- ma le colonne suono vuote
ok dopo un po di sbattimento ho risolto:
Il problema è che la nuova riga non possiede una struttura di celle essendo vergine.
Quindi basta darle la struttura prendendola dalla dataGridView nella quale la riga andrà inserita.
Per basta usare:
dopo questo passaggio la funzione setValues() della riga funziona benissimo (in modo uguale alla funzione rows.Add della datagridview).codice:miaRiga.CreateCells(miaDGV)
Grazie lo stesso a tutti
Spero questo post possa aiutare qualcuno in futuro![]()