[ DankoH @ 11.09.2009. 11:09 ] @
Pozdrav!


Zelim DataGridView prikazat na nacin da je svaki drugi red pograyan. Imam sljedeci kod i naravno problem. Ako ga stavim u DataBindingComplete event i pokrenem aplikaciju kod mi se odvrti 3 puta... Zelim da se odvrti jednom, nakon sto popuni sve podatke. Grid je bindan na DataTable.


Code:
     
private void dGView1_DataBindingComplete(object sender,
                                    DataGridViewBindingCompleteEventArgs e)
{

            foreach (DataGridViewRow row in dGView1.Rows)
            {
                if ((row.Index & 1) != 0)
                {
                    DataGridViewRow tajRow = dGView1.Rows[row.Index];
                    tajRow.DefaultCellStyle.BackColor = System.Drawing.Color.LightGray;
                }
            }
           count++;
           this.Text = count.ToString();
}



Gdje smjestiti taj kod?
[ deerbeer @ 11.09.2009. 11:26 ] @
Probaj u DataGridView.CellFormatting Eventu
http://msdn.microsoft.com/en-u...tagridview.cellformatting.aspx
[ DankoH @ 11.09.2009. 13:10 ] @
Nije dobro. Taj se event trigera na sve zivo(169 puta pri form loadu), na mouse move preko cella. Nije to dobro. Trebam nesto sto će se desiti jednom, kad se ispuni sa svim podacima.

Mozda mi ni ne treba ovaj foreach loop. Mozda bi mogo cekat kad zavrsi upisivanje u 1 row pa onda provjerit jel taj row paran ili neparan pa ga prema tome obojat. Probat cu sa DataGridView..::.RowValidated Event.


Edit: Nije ni to dobro :p

[Ovu poruku je menjao DankoH dana 11.09.2009. u 14:22 GMT+1]
[ deerbeer @ 11.09.2009. 13:35 ] @
Onda je dovoljno :
Code:
 
dGView1.RowsDefaultCellStyle.BackColor = Color.Bisque; //default boja reda 
dGView1.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGray; //  boja sledeceg reda 


mada isto to moze da radi i u CellFormat eventu :

Code:
 
private void dGView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
 {
  if (e.RowIndex % 2 == 0)
        e.CellStyle.BackColor = Color.Red;
   else
        e.CellStyle.BackColor = Color.Purple; 

}

[ DankoH @ 11.09.2009. 13:45 ] @
Code:
private void dGView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
 {
  if (e.RowIndex % 2 == 0)
        e.CellStyle.BackColor = Color.Red;
   else
        e.CellStyle.BackColor = Color.Purple; 

}


Bravo, hvala puno!!
[ DarkMan @ 11.09.2009. 18:40 ] @
To sto zelis postici vec postoji u kontroli DataGridView.

DataGridView.AlternatingRowsDefaultCellStyle Property
[ DankoH @ 11.09.2009. 18:51 ] @
Bravo, hvala puno!! :)