Nota: Articoli etichettati come Snippet non contengono codice completo ma solo parti di esso, recuperate da appunti. Per cui, potrebbe essere necessario modificarne alcuni nomi o indici. Per ogni chiarimento, lasciate un commento all’articolo.
Questo stralcio di codice consente di inserire, in una datagridview (C# – Windows Forms), una colonna contenente immagini.
Nell’esempio sono stati utilizzati dei pallini colorati, per indicare lo stato dei singoli record visualizzati.
Viene inoltre fornito il codice per modificare, a runtime, l’immagine della specifica riga nella colonna di immagini.
DataGridViewImageColumn colonna = new DataGridViewImageColumn();
colonna.ImageLayout = DataGridViewImageCellLayout.Normal;
colonna.Image = new System.Drawing.Bitmap(Properties.Resources.pallino_rosso);
dgvConvocazioni.Columns.Insert(1, colonna);
dgvConvocazioni.Columns[1].HeaderText = “”;
dgvConvocazioni.Columns[1].Width = 20;
Modifica a RunTime
dgvConvocazioni.Rows[1].Cells[5].Value = New System.Drawing.Bitmap(Properties.Resources.pallino_verde)
Se il DataSource della dgv è una lista (Ilist) di oggetti, è sufficiente inserire tra le proprietà della classe una Bitmap.
Segue il codice di definizione della classe, la cui lista rappresenta il DataSource.
public class DatagridListElementConvocazioni
{
public int id { get; set; }
[DisplayName(” “)] // Richiede: using System.ComponentModel;
public System.Drawing.Bitmap stato { get; set; }
[DisplayName(“Data Invio”)]
public string dataInvio { get; set; }
…
public DatagridListElementConvocazioni(……)
{
….
this.stato = new System.Drawing.Bitmap(Properties.Resources.pallino_bianco);
…
}
}