jQGrid拖放行检查

时间:2012-04-13 19:10:02

标签: jqgrid drag-and-drop jquery-ui-draggable

我的主网格正确地将行拖放到辅助网格中。我的问题是,如何在将行放入我的辅助网格之前执行检查,这将确定我尝试删除的行是否已存在?如果它已经存在于二级网格中,请不要让用户将其丢弃,基本上停止拖放功能。

我想我可以从我试图放弃的行中获取键值。然后,检查该值是否已作为我已删除的行之一中的键值存在。我假设我必须以某种方式使用这个功能:

beforedrop : function(e,ui,data,source,target) { }

或者这个功能:

ondrop: function (ev, ui, getdata) { }

有人有什么想法吗?

1 个答案:

答案 0 :(得分:5)

使用示例可以是以下

$("#grid1").jqGrid('gridDnD', {
    connectWith: '#grid2',
    beforedrop: function (ev, ui, getdata, $source, $target) {
        var names = $target.jqGrid('getCol', 'name2');
        if ($.inArray(getdata.name2, names) >= 0) {
            // prevent data for dropping
            ui.helper.dropped = false;
            alert("The row is already in the destination grid");
        }
    }
});

the demo上,你无法将“test1”行从第一个网格中删除到第二个网格:

enter image description here

其他行将被删除而没有任何问题。