I''m using PrepareViewStyleInfo to color the grid rows. The color of a row is conditional on a value of a column in the grid. I could get it to work by looking up the row in the bound table which corresponds to GridPrepareViewStyleInfoEventArgs''s RowIndex attribute. This does not work when the rows are sorted and the coloring is done in accordance with the unsorted table. How do I get arround this?
ADAdministrator Syncfusion Team March 23, 2005 10:44 AM
Is the test value in the grid? If so, the simplest way is to get it from teh grid itself.
int colIndex = grid.Binder.NameToColIndex("TestValueColname");
object testValue = grid[e.RowIndex, colIndex].CellValue;
If the value is not displayed in teh grid and you need to get it from teh datassource, then you have to use the CurrencyManager.
CurrencyManager cm = grid.BindingContext[grid.DataSoource, grid.DataMember] as CurrencyManager;
int pos = grid.Binder.RowIndexToPosition(e.RowIndex);
object testValue = ((DataRowView)cm.List[pos])["TextValueColName"];
In this latter case, I think you could cache teh currencymanager in a class member and initialize this member after you set teh datasource to teh grid.