从其DataSource获取Kendo Grid

时间:2015-06-17 03:35:48

标签: kendo-ui kendo-grid

我正在为所有Kendo网格编写一个通用的错误处理程序。我需要获取源Grid以防止其在保存数据时的默认行为。在处理程序中,您可以通过args.sender访问源的DataSouce。如何从DataSouce访问Kendo Grid?

我找到的唯一方法是this suggestion,搜索所有网格,处理程序如下所示,你能提出更好,更有效的建议吗?

function genericErrorHandler(args) {
    if (args.errors) {
        $('.k-grid').each(function () {
            var grid = $(this).data('kendoGrid');
            if (grid.dataSource == args.sender) {
                alert('found!');
            }
        })
    }
}

1 个答案:

答案 0 :(得分:1)

没有API从数据源获取Grid对象,但除此之外还有很多方法。

您可以创建通用网格的编辑事件,并在全局范围变量中存储触发该事件的网格ID。我更喜欢这样做而不是比较可变数据源。

var window.currentGrid = "";

function onGenericGridEdit(e) {
    window.currentGrid = e.sender;
}

如果在某些情况下您需要进行自定义编辑功能,只需在代码末尾调用通用编辑功能即可。

function onCustomGridEdit(e) {

   // call generic function to store
   onGenericGridEdit(e);
}