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

我正在使用Kendo UI版本2014.2.716。

最佳答案

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

“您所依赖的是未记录且不受支持的内容。将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>

10-06 15:04