I have a bound grid and while iterating on the collection of selected rows I want to access the underlying datatable.
Alas, if the user has altered the row order by sorting on a column, the index of a row in the grid is not the index of the same row in the datatable.
How can I get a row in the bound datatable having the index of a row in the grid?
ADAdministrator Syncfusion Team March 17, 2004 05:50 AM
You can get the row object (either DataRowView or DataRow) through the currencymanager. This will allow you to access any fields (columns) in the datarow.
//for a given rowIndex
int position = this.Binder.RowIndexToPosition(rowIndex);
CurrencyManager cm = (CurrencyManager) this.BindingContext[this.grid.DataSource, this.grid.DisplayMember];
DataView dv = (DataView) cm.List;
DataRowView drv = dv[position];
//now you can access the fields with code like
object colNameValue = drv["colName"];
RRRaul RosenthalMarch 17, 2004 06:16 AM
I copied and pasted your sample, and it works as expected, though I don''t understand exactly why.
Once more, thank you!