easyui datagrid表格多行上下移动排序的问题。。。 jqueryeasyuidatagrid排序表格行排序 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 jquery 好像有类似的sort 插件。 主要是datagrid的每行是分段的,我晕倒。你看代码:$row.each(function(){ var prev = $(this).prev(); prev.length && $(this).insertBefore(prev); }); 结贴!!!自己搞定了!方法1(不会改变行索引,动态添加行至首行会有问题):function move(isUp) { var selections = dt.datagrid("getSelections"); if(selections.length == 0){ return; } if(selections.length > 1){ //$.message.show("一次只能移动一条数据。","warning",2); //return; } var length = dt.datagrid("getRows").length; var $view = $('div.datagrid-view'); if(isUp){ for(var i = 0; i < selections.length; i++){ var index = dt.datagrid('getRowIndex',selections); var $row = $view.find('tr[datagrid-row-index=' + index + ']').eq(1); if($row.index() <= 0) return; $row.insertBefore($row.prev()); } }else{ for(var i = selections.length - 1; i >= 0; i--){ var index = dt.datagrid('getRowIndex',selections); var $row = $view.find('tr[datagrid-row-index=' + index + ']').eq(1); if($row.index() >= length-1) return; $row.insertAfter($row.next()); } }}方法2:function move1(isUp) { var selections = dt.datagrid("getSelections"); if(selections.length == 0){ return; } if(selections.length > 1){ //$.message.show("一次只能移动一条数据。","warning",2); //return; } var length = dt.datagrid("getRows").length; for(var i = 0; i < selections.length; i++){ var index ,$i,newIndex; if(isUp){ $i = i; index = dt.datagrid('getRowIndex',selections[$i]); if(index <= 0)return; newIndex = index - 1; }else{ var $i = selections.length-1-i; index = dt.datagrid('getRowIndex',selections[$i]); if(index >= length-1)return; newIndex = index + 1; } dt.datagrid("deleteRow",index); dt.datagrid("insertRow",{index : newIndex,row:selections[$i]}); dt.datagrid("selectRow",newIndex); }} submit按钮,如何在检验表单完成后再转界面呢 javascript 中有关日期比较 设为首页/加入收藏的js问题,急!!!!!!! 求个简单的JS判断网址代码 一个字符,比如 "+"号,要求点击后执行一个函数,这个函数能够判断出点击的这个字符是什么字符 关于焦点的问题 挑战性问题,请梅花大侠等高手帮忙!!! 页面刷新问题 js里判断第一个文本框是否为空,该怎么写啊 为什么焦点在text里面的时候,按下Enter的效果就是刷新整个页面,如何去掉这个动作? 怎样类似smart qq在最小化窗口了还能有信息提示,或者在切换到其他Tab页面也有提示 难度比较高的验证码的java生产代码
主要是datagrid的每行是分段的,我晕倒。你看代码:
$row.each(function(){
var prev = $(this).prev();
prev.length && $(this).insertBefore(prev);
});
自己搞定了!
方法1(不会改变行索引,动态添加行至首行会有问题):
function move(isUp) {
var selections = dt.datagrid("getSelections");
if(selections.length == 0){
return;
}
if(selections.length > 1){
//$.message.show("一次只能移动一条数据。","warning",2);
//return;
}
var length = dt.datagrid("getRows").length;
var $view = $('div.datagrid-view');
if(isUp){
for(var i = 0; i < selections.length; i++){
var index = dt.datagrid('getRowIndex',selections);
var $row = $view.find('tr[datagrid-row-index=' + index + ']').eq(1);
if($row.index() <= 0) return;
$row.insertBefore($row.prev());
}
}else{
for(var i = selections.length - 1; i >= 0; i--){
var index = dt.datagrid('getRowIndex',selections);
var $row = $view.find('tr[datagrid-row-index=' + index + ']').eq(1);
if($row.index() >= length-1) return;
$row.insertAfter($row.next());
}
}
}方法2:
function move1(isUp) {
var selections = dt.datagrid("getSelections");
if(selections.length == 0){
return;
}
if(selections.length > 1){
//$.message.show("一次只能移动一条数据。","warning",2);
//return;
}
var length = dt.datagrid("getRows").length;
for(var i = 0; i < selections.length; i++){
var index ,$i,newIndex;
if(isUp){
$i = i;
index = dt.datagrid('getRowIndex',selections[$i]);
if(index <= 0)return;
newIndex = index - 1;
}else{
var $i = selections.length-1-i;
index = dt.datagrid('getRowIndex',selections[$i]);
if(index >= length-1)return;
newIndex = index + 1;
}
dt.datagrid("deleteRow",index);
dt.datagrid("insertRow",{index : newIndex,row:selections[$i]});
dt.datagrid("selectRow",newIndex);
}
}