我正在为所有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!');
}
})
}
}
答案 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);
}