Farvelægning af datagrid celler
Hejsa...Jeg har et datagrid, jeg har farvet nogle af cellerne i...dvs. det sker automatisk hvis cellernes indhold overstiger en given grænseværdi...det virker fint...men når jeg bruger den horisontale scroll, ja så virker det ikke korrekt...Jeg har prøvet, at rette op på det, ved at tilføje Invalidate() i datagriddets scroll-event, det hjælper på det...men det opfører sig stadig ikke tilfredsstillende... GetCellBounds () bliver ikke korrekt udregnet...og det resulterer i, da den/de røde celler blive gentegnes trods man har scrollet og en anden værdi/celle nu står på den tidligere røde celles plads og dermed også bliver farvet rød...ja, det er nok svært at følge...men også lidt svært at forklare...
Jeg har farvet cellerne på følgende måde;
e.Graphics.FillRectangle(new SolidBrush(Color.Red), udDataGridReproducerbarCvSdMv.GetCellBounds(2,i).X, udDataGridReproducerbarCvSdMv.GetCellBounds(2,i).Y,
udDataGridReproducerbarCvSdMv.GetCellBounds(2,i).Width, udDataGridReproducerbarCvSdMv.GetCellBounds(2,i).Height);
Idet farven bliver tegnet ovenpå den eksisterende tekst, gentegner jeg teksten sådan her :
System.Drawing.Font font = new Font("Arial",8);
e.Graphics.DrawString(tekst,font,Brushes.Black,udDataGridReproducerbarCvSdMv.GetCellBounds(2,i).X, udDataGridReproducerbarCvSdMv.GetCellBounds(2,i).Y);
Kan jeg optimere denne kode eller findes der blot en meget smartere måde, at farve datagrid celler på...??
Håber meget i kan hjælpe mig!
Mvh. PabloPablo
