Kendo ui 网格的弹出式编辑表单:如何知道当前选定的行
我有一个网格的编辑设置为弹出 在我的网格模型中,我定义了字段级别的唯一性验证,如下所示。如何知道当前选择的行是哪一行,从而避免将字段值与同一行的值进行比较Kendo ui 网格的弹出式编辑表单:如何知道当前选定的行,kendo-ui,kendo-grid,Kendo Ui,Kendo Grid,我有一个网格的编辑设置为弹出 在我的网格模型中,我定义了字段级别的唯一性验证,如下所示。如何知道当前选择的行是哪一行,从而避免将字段值与同一行的值进行比较 model: { id: "id", fields: { id: { nullable: false, editable: false, hidden : true
model: {
id: "id",
fields: {
id: {
nullable: false,
editable: false,
hidden : true
},
"timeStamp": {
type: "date",
validation: { // validation rules
required: true, // the field is required
unique: function (input) {
if (!input.is("[name=timeStamp]")) {
return true;
}
input.attr("data-unique-msg", '${msg.UNIQUE_TIME}' );
var data = grid.dataSource.data();
//HOW CAN I KNOW WHICH ROW Is currently selected?
也许是一个有点棘手的解决方案,但它应该是有效的。。。数据源中的每条记录都有一个由Kendo UI分配的唯一Id。这些
uid
,用于popup
编辑,在窗口中使用时,剑道用户界面可以轻松识别正在编辑的记录,而无需保存状态。你也应该这样做
您的功能只需执行以下操作:
var uid = $(input).closest(".k-popup-edit-form").data("uid");
var item = grid.dataSource.getByUid(uid);
现在,
项
包含正在编辑的记录的所有字段。我还在剑道网格弹出窗口中使用自定义验证器。我使用以下代码获取模型:
var m = $(input).closest('.k-popup-edit-form').data('kendoEditable').options.model;
我更喜欢这种机制,因为我不必引用网格对象,这样代码就可以更方便地从一页移植到另一页。两个答案都有效-我更喜欢你的答案,因为它的可移植性。