弹出编辑网格表格:我如何知道当前选定的行

时间:2013-07-25 12:42:39

标签: kendo-ui kendo-grid

我有一个Grid,其编辑设置为Popup。

在我的网格模型中,我已经为下面的唯一性定义了字段级验证。我怎么知道哪个是当前选择的行,所以我可以避免将我的字段值与同一行的值进行比较?

 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?

2 个答案:

答案 0 :(得分:2)

我还在Kendo Grid Popup Window上使用自定义验证器。我使用以下代码来获取模型:

var m = $(input).closest('.k-popup-edit-form').data('kendoEditable').options.model;

我更喜欢这种机制,因为我没有引用网格对象,使得代码在页面之间更加便携。

答案 1 :(得分:1)

可能是一个有点棘手的解决方案,但它应该有效...... DataSource中的每条记录都有一个由Kendo UI分配的唯一ID。这些uid用于popup编辑在窗口中使用,使得Kendo UI可以轻松识别正在编辑的记录,而无需保存状态。你也应该这样做。

您的功能只需要:

var uid = $(input).closest(".k-popup-edit-form").data("uid");
var item = grid.dataSource.getByUid(uid);

现在,item包含正在编辑的记录的所有字段。