gpt4 book ai didi

javascript - Kendo UI,如何在 kendo 网格单元格上手动调用 validate()

转载 作者:搜寻专家 更新时间:2023-11-01 04:31:49 27 4
gpt4 key购买 nike

是否可以在不使用 editCell() 方法的情况下在 kendo-grid 中的单元格上调用 validate()

Telerik团队推荐的validator调用方式如下:

$("myGrid").data("kendoGrid").editable.validatable.validate()

但是,如果没有单元格打开(例如,网格中没有焦点输入),则没有可编辑对象可用,所以我必须通过一个调用 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);
});

但是这段代码并不优雅,而且慢得令人痛苦

我想要实现的是 提交时的网格验证

问题 再一次:我可以在每个网格单元格上运行 kendo 验证程序,而无需反复进入和离开编辑模式吗?

PS:我正在使用批量编辑(incell)模式

最佳答案

我对此进行了更深入的研究,但无法在 native 支持此批处理验证的网格文档中找到任何内容。一般来说,网格格式旨在逐行处理数据,它反射(reflect)了关系数据库表/电子表格类型的数据表示。考虑到这一点,典型的插入/编辑/验证/删除操作旨在一次对单个行或记录执行。

我的回答是:没有。如果不为每个需要验证的单元格重复进入和离开编辑模式,则无法运行 Kendo 验证。

如果您能深入研究 Kendo JS 库并弄清楚验证是如何调用的,并创建一些自定义方法以批处理方式调用它,您也许能够做到。下一次 Kendo 更新发布时,类似的东西可能会崩溃。

为了加快速度,您可能必须想出一种巧妙的方法来验证输入的数据;或者在 blur 上;或者使用 setTimeout 作为“后台”任务;或者将数据打包并通过 Ajax 将其发送回服务器,然后以某种方式处理返回消息。

祝你好运!

关于javascript - Kendo UI,如何在 kendo 网格单元格上手动调用 validate(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22865867/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com