Хорошо, я нашел странно-уродливое решение:
Я добавил событие OnRowDataBound в сетке. Эти функции OnRowDatabound запускают события OnRowSelect.
Затем я добавил глобальную переменную javascript страницы для хранения значения bool, которое проверяет, была ли выбрана первая строка, поэтому OnRowDatabound не вызывает OnRowSelect для каждой строки.
@(Html.Telerik().Grid<SomethingViewModel>()
.Name("SomethingGroupGrid")
.ClientEvents(events =>
{
events.OnDataBinding("SomethingGroupGrid_onDataBinding");
})
.DataBinding(dataBingding => dataBingding.Ajax().Select("SomethingGroupGrid", "Something"))
.Columns(columns =>
{
columns.Bound(c => c.Id).Hidden();
columns.Bound(c => c.Name)
.Title("Groups");
})
.Selectable()
.Pageable(x => x.PageSize(10))
.ClientEvents(events => events.OnRowSelect("SomethingGroupGrid_RowSelect"))
.ClientEvents(events => events.OnRowDataBound("SomethingGroupGrid_OnRowDataBound"))
)
<script type="text/javascript">
var firstRowSelected = false;
function PreviewAccountGrid_DataBound(e) {
if (firstRowSelected == false) {
SomethingGroupGrid_RowSelect(e);
firstRowSelected = true;
}
}
</script>
Пожалуйста, скажите мне, что есть лучший способ сделать это, или это сильно ухудшит мое мнение о контроле Telerik (который уже чертовски низок).