If you have set the DataSource of your UltraGrid to a DataTable then you could extract the underlying DataRow of the current ActiveRow using
if(grid.ActiveRow != null && grid.ActiveRow.IsDataRow)
{
DataRow row = (grid.ActiveRow.ListObject as DataRowView).Row;
}
Of course you could subst the ActiveRow of this example with every UltraGridRow where the IsDataRow property is true (beware of the SummaryRows and the OutlookGroupByRow)
Notice that if you bind to the DataSource a List<CustomClass>
then the ListObject
is able to return the single instance of the CustomClass