使用SortableRows并知道何时移动了行

时间:2010-03-04 21:35:00

标签: jqgrid

我想利用jqGrid的sortableRows属性。如何检测行何时被移动。我研究了文档并查找了示例,但没有找到太多内容。我相信它就像是

jQuery("#grid").sortableRows({connectWith:'#gird',
                              ondrop: function(){ alert("row moved") }});

但这不起作用。我可以移动行,但似乎没有陷入事件。我的语法或方法总体上有问题。

基本上,我需要知道行已经重新排列,所以我可以确定它们会按照新订单保存。

由于

3 个答案:

答案 0 :(得分:7)

jqGrid使用ui-sortable插件对行进行排序:http://jqueryui.com/demos/sortable/。 在

jQuery("#grid").sortableRows( options )

“options”是传递给可排序的插件。

options = { update : function(e,ui){} }

是你想要的。

答案 1 :(得分:4)

将sortstop事件处理程序附加到您的网格:

jQuery("#grid").bind('sortstop', function(event, ui) { alert("row moved") });

我做了一个快速测试,这对我有用。

答案 2 :(得分:0)

jQuery('#'+grid_id).jqGrid('sortableRows', {
                    update: function (event, ui) {
                        var newOrder = $('#'+grid_id).jqGrid("getDataIDs");
                        //do whatever you want with new roworder
                        //please keep in mind this will give only page visible rows
                    }
                });