【发布时间】:2018-03-06 15:40:12
【问题描述】:
我在 razor 视图 (MVC4) 中定义了一个剑道网格,并且我还有 dataSource 事件处理程序 - onRequestStart 像这样:
function onRequestStart(e){
var gridId = e.sender... //the rest of the code
}
我要做的是在函数内部获取gridId,而不将其作为参数传递给该函数。我也试过了:
e.sender.element.closest('[data-role="grid"]');
和:
e.sender.options.table.context.id //('e.sender.options.table' is null)
但它不起作用! Kendo版本2016.1.226
【问题讨论】:
-
一个数据源可以连接到多个网格。如果您需要特定的网格,请使用声明网格的剃刀代码中指定的名称。所以对于
Html.kendo().Grid<modelClass>().Name("myGrid")...,onRequestStart 将有grid_component = $("#myGrid").data('kendoGrid'); -
是的,但我正在为应用程序中的每个网格开发一种动态方法。这就是我需要从 dataSource 中获取 gridId 信息的原因。
-
我认为 kendo 小部件中的“监听/处理”概念是通过让它们将关联数据源的更改事件绑定到引用小部件的匿名函数来完成的。这种匿名性使得“获取听众名单”的过程比听起来更棘手。如果您检查数据源的
._events属性,它将是一个绑定到它的事物数组。动态的本质是什么,您需要在请求开始时了解使用数据源的网格? -
我想在所有“读取”请求开始时显示自定义数据加载器,并在 dataBound 结束后隐藏它。这通常应该在每个网格的一个函数中全局完成。
-
@DzananBegovic 您能否花点时间查看答案,看看它是否能解决您的问题?
标签: jquery asp.net-mvc kendo-ui