Asp.net mvc Telerik Grid MVC Razor:自动选择行并触发选择事件

Asp.net mvc Telerik Grid MVC Razor:自动选择行并触发选择事件,asp.net-mvc,asp.net-mvc-3,razor,telerik,Asp.net Mvc,Asp.net Mvc 3,Razor,Telerik,使用带有ASP.NET MVC 3 Razor引擎的Telerik网格 当用户选择一行时,我们取消隐藏页面的某些部分。当我单击某一行时,这工作正常 但是,我需要在加载页面时自动选择第一行 我可以更改行显示颜色,使其显示为选中状态,但我不知道如何调用select事件 以下是网格代码: @(Html.Telerik().Grid<SomethingViewModel>() .Name("SomethingGroupGrid") .C

使用带有ASP.NET MVC 3 Razor引擎的Telerik网格

当用户选择一行时,我们取消隐藏页面的某些部分。当我单击某一行时,这工作正常

但是,我需要在加载页面时自动选择第一行

我可以更改行显示颜色,使其显示为选中状态,但我不知道如何调用select事件

以下是网格代码:

    @(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"))


         )
@(Html.Telerik().Grid())
.Name(“SomethingGroupGrid”)
.客户事件(事件=>
{
events.OnDataBinding(“SomethingGroupGrid_OnDataBinding”);
})
.DataBinding(DataBinding=>DataBinding.Ajax().Select(“SomethingGroupGrid”,“Something”))
.列(列=>
{
columns.Bound(c=>c.Id).Hidden();
columns.Bound(c=>c.Name)
.名称(“集团”);
})
.可选()
.Pageable(x=>x.PageSize(10))
.ClientEvents(events=>events.OnRowSelect(“SomethingGroupGrid\u RowSelect”))
)

有人能帮忙吗?

好的,我找到了一个异常丑陋的解决方案:

我在网格上添加了OnRowDataBound事件。此OnRowDatabound函数触发OnRowSelect事件。 然后,我添加了page全局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>
@(Html.Telerik().Grid())
.Name(“SomethingGroupGrid”)
.客户事件(事件=>
{
events.OnDataBinding(“SomethingGroupGrid_OnDataBinding”);
})
.DataBinding(DataBinding=>DataBinding.Ajax().Select(“SomethingGroupGrid”,“Something”))
.列(列=>
{
columns.Bound(c=>c.Id).Hidden();
columns.Bound(c=>c.Name)
.名称(“集团”);
})
.可选()
.Pageable(x=>x.PageSize(10))
.ClientEvents(events=>events.OnRowSelect(“SomethingGroupGrid\u RowSelect”))
.ClientEvents(events=>events.OnRowDataBound(“SomethingGroupGrid_OnRowDataBound”))
)
var firstRowSelected=false;
函数预览AccountGrid_数据绑定(e){
if(firstRowSelected==false){
SomethingGroupGrid_RowSelect(e);
firstRowSelected=true;
}
}
请告诉我,有更好的方法可以做到这一点,否则它将严重降低我对Telerik Control(已经非常低)的看法