В RowDataBound вы можете получить доступ к исходной строке, которая связана, и использовать ее для определения индекса строки, получая доступ к таблице данных этой строки (я полагаю, что класс DataRow имеет ссылку на родительскую таблицу).
Вы получаете доступ к этому через e.Row.DataItem и конвертируете его в правильный тип. Это невозможно, если вы не свяжете этот индекс с коллекцией datakeynames или с полем в сетке.
НТН.