有没有一种方法可以在不使用editCell()方法的情况下在kendo-grid的单元格上调用validate()?
Telerik小组建议的调用验证器的方法如下:
$("myGrid").data("kendoGrid").editable.validatable.validate()
Run Code Online (Sandbox Code Playgroud)
但是,如果没有打开的单元格(例如,网格中没有集中的输入),则没有可编辑的对象可用,因此我必须逐个激活单元格以调用validate()
我想在每个网格单元上调用验证并运行一些逻辑(例如addClass())
如果我jquery遍历网格中的所有td元素并调用validate(),则成功,如下所示:
$(".k-grid-content td").each(function () {
var cell = $(this);
grid.editCell(cell);
if (!grid.editable.validatable.validate()) {
cell.addClass("cell-invalid");
};
grid.closeCell(cell);
});
Run Code Online (Sandbox Code Playgroud)
但是,这段代码并不优雅,而且运行缓慢。
我正在尝试实现的是提交时的网格验证。
问题再次声明:我可以运行在每个网格单元剑道验证,无需反复进入和离开编辑模式?
PS:我正在使用批处理编辑(incell)模式