【问题标题】:Getting Kendo Grid Name in an Event Handler在事件处理程序中获取 Kendo 网格名称
【发布时间】:2014-08-15 10:14:40
【问题描述】:

如何将 gridName 传递给 Kendo 事件处理程序。 .Events(events => events.RequestEnd("requestEndEvent").

我正在使用 Kendo UI 版本 2014.2.716。

【问题讨论】:

    标签: kendo-ui kendo-grid kendo-asp.net-mvc


    【解决方案1】:

    最近我更新了 Kendo UI,e.sender.options.table.context.id 停止工作。我联系了剑道,这是他们的回复。以下方法可用于将网格名称传递给任何事件处理程序,包括错误处理程序。

    “您所依赖的东西没有记录且不受支持。将 Grid id 传递给 DataSource 事件处理程序的正确方法如下:”

    .DataSource(dataSource => dataSource
            .Ajax()
            .PageSize(20)
            .Read(read => read.Action("Orders_Read", "Grid"))
            .Events(e => e.RequestStart("requestStartHandler(\"grid\")"))
         )
    
    <script>
        function requestStartHandler(gridName) {
            return function (e) {
                var grid = $("#" + gridName).data("kendoGrid");
                alert("Request Start for grid: " + gridName + ", items length: " + grid.items().length);
            }
        }
    </script>
    

    【讨论】:

    • 只有这对我有用:e.sender.content.context.id
    • @Misi 不要忘记将requestStartHandler(\"grid\") 中的grid 更改为您的网格名称
    【解决方案2】:

    我知道这是旧的,但是对于现在发现它的任何人来说,发送网格的 id 都可以通过 e.sender.element[0].id 访问

    在以前的版本中,e.sender.element.context.id 也可以,但在最新版本(2018+)中,.context 现在是未定义的。元素仍然存在,因此 .element[0].id 应该会继续工作。

    function requestEndEvent(e) {
        alert(e.sender.element[0].id);
    }
    

    【讨论】:

      【解决方案3】:

      试试这个代码

          function GridRequestEnd(e) {
              var gridName = null;
              $(".k-grid").each(function () {
                  var currentGrid = $(this).data("kendoGrid");
                  if (currentGrid != null && currentGrid.dataSource == e.sender) {
                      gridName = currentGrid.element.context.id;
                  }
              });
      
              alert(gridName);  
       }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-09
        • 2022-11-19
        • 1970-01-01
        • 1970-01-01
        • 2021-10-19
        • 2021-06-16
        • 1970-01-01
        • 2017-07-14
        相关资源
        最近更新 更多