Hi Shridhar,
Thank you for posting query to us.
Are you handling PrepareViewStyleInfo or Model.QueryCellInfo in the GridDataBoundGrid and trying to access anything from datatable directly?
For example if your datatable has row count = 5 and if e.RowIndex = 6 points to the 'AddNew' row in the grid (the empty row at the bottom), then there is no corresponding datarow in the datatable. So, you cannot try to access data from your datatable corresponding to this last row. If you do, you will get the message you mentioned. To prevent this, make sure e.RowIndex < gridDataBoundGrid1.Model.RowCount before you try to access any data directly from your datatable.You might try checking whenever you are trying to access data directly from the datasource.
Are you using multiple threads in your applications? If so please check this KB article
http://www.syncfusion.com/support/kb/grid/Default.aspx?ToDo=view&questId=78. QueryCellInfo event is raised anytime something requires a grid value. So, if ever does grid[row,col] for any reason on a different thread, then there will be a problem.
Please refer this sample which implements the InvokeRequired check:
http://websamples.syncfusion.com/samples/Grid.Windows/F67310/main.htmAre there any events handled while the ListChanged event is raised? The GridModelDataBinder listens of course to this event but are there are other listeners for other events that are triggered because of the ListChanged event, e.g. GridModelDataBinder.BindingListChanged?
private void Form1_Load(object sender, System.EventArgs e)
{
this.gridDataBoundGrid1.Binder.BindToCurrencyManager = false;
this.gridDataBoundGrid1.DataSource = dataTable;
}
Please refer to this KB for efficiently modifying the underlying data source. Here is the link to this KB.
http://www.syncfusion.com/support/kb/grid/Default.aspx?ToDo=view&questId=99Kindly let us know if you need any further assistance.
Thank you for using Syncfusion Products.
Best Regards,
Jeba.