【问题标题】:Telerik Grid MVC Razor : auto select a row and fire select eventTelerik Grid MVC Razor:自动选择一行并触发选择事件
【发布时间】:2012-04-02 09:57:05
【问题描述】:

使用带有 ASP.NET MVC 3 Razor 引擎的 Telerik Grid。

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

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

我可以更改行显示颜色,使其显示为已选中,但我不知道如何调用 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"))


         )

有人可以帮忙吗?

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 razor telerik


    【解决方案1】:

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

    我在网格上添加了一个 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 控件的看法(这已经非常低了)。

    【讨论】:

      猜你喜欢
      • 2017-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-15
      • 2018-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多