
A mellékelt példa használatához a WebForm1.aspx.cs 31. sorában lévő connStr változó értékét módosítsa úgy, hogy az SQL szerver Northwind példaadatbázisa elérhető legyen.
A DataGrid feltöltését adatokkal egy sql lekérdezés alapján tesszük meg a Page Load eseményénél.
private void Page_Load(object sender, System.EventArgs e)
{
...
SqlDataAdapter da = new SqlDataAdapter("select top 10 * from orders", connection);
DataSet ds = new DataSet();
da.Fill(ds);
A lekérdezés futtatása után az eredmény táblát a DataGrid-hez kötjük. Az adatok megjelenítése innen kezdve már adott, most már csak a formázás marad hátra.
DataGrid1.DataSource = ds.Tables[0].DefaultView;
DataGrid1.DataBind();
Ehhez a művelethez végig kell mennünk az adattábla összes során, melyet a DataTable osztály Rows property-je ad, DataRowCollection osztály formájában.
DataRowCollection drc = ds.Tables[0].Rows;
Color c;
for (int i=0; i<drc.Count; i++)
{
A mellékelt példában a ShipVia nevű oszlop értéke alapján döntjük el a háttérszínt, mely a 7. eleme a DataRowCollection adott, i-edik sorának.
switch (Convert.ToInt32(drc[i][6]))
{
case 2:
c = Color.FromArgb(0xff, 0xff, 0xcc);
break;
case 3:
c = Color.FromArgb(0xcc, 0xff, 0x99);
break;
default:
c = Color.White;
break;
}
A DataGrid sorának háttérszínét annak Items property-jén keresztül érhetjük el a BackColor property felhasználásával.
DataGrid1.Items[i].BackColor = c;
Lehetőségünk van nem csak a teljes sor háttérszínét beállítani, hanem a soron belül egy-egy cella tulajdonságait is elérhetjük:
DataGrid1.Items[i].Cells[6].BackColor = Color.FromArgb(0xf4, 0xf4, 0xf4);
}