It looks like you are having the grid data bound to a data table. In that case, the data-bound item of each row would the DataRowView object. It can be accessed this way:
GridViewRowInfo currentRow = this.radGridView1.CurrentRow;
DataRowView dataRowView = currentRow.DataBoundItem as DataRowView;
Now about the RowsChanged event, the event arguments have information about the changed rows exposed by the NewItems property. You can iterate those items and cast their data-bound items to DataRowView. Then from the DataRowView you can extract the actual DataRow object:
privatevoidRadGridView1_RowsChanged(object sender, GridViewCollectionChangedEventArgs e)
{
if (e.NewItems == null)
{
return;
}
foreach (var item in e.NewItems)
{
GridViewRowInfo row = item as GridViewRowInfo;
if (row == null)
{
continue;
}
var rowView = row.DataBoundItem as DataRowView;
}
}