gridpanel中拖拽排序

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->       //   定义拖动时样式
     function  change(val){
        
if (val  >   0 ){
            
return   ' <span style="color:green;"> '   +  val  +   ' </span> ' ;
        }
else   if (val  <   0 ){
            
return   ' <span style="color:red;"> '   +  val  +   ' </span> ' ;
        }
        
return  val;
    }

    
// 定义拖动时样式
     function  pctChange(val){
        
if (val  >   0 ){
            
return   ' <span style="color:green;"> '   +  val  +   ' %</span> ' ;
        }
else   if (val  <   0 ){
            
return   ' <span style="color:red;"> '   +  val  +   ' %</span> ' ;
        }
        
return  val;

    }

 

  var sm2 = new Ext.grid.RowSelectionModel({singleSelect: true});

   var cm = new Ext.grid.ColumnModel([sm2,
       {  id:'id',
          width: "10%",
          dataIndex:"id"
       },
           {
                id:'name',
                width: 220,
                dataIndex:"name",
             header:"分类名"
           },
           {
           id:'state',
               dataIndex:"state",
            header:"是否启用"
         },{
           id:'type',
               dataIndex:"type",
            header:"分类类型"
           }
   ]);

    // gridpanel
    var  grid  =   new  Ext.grid.GridPanel({
       iconCls:
' icon-grid ' ,
       frame:
true ,
    renderTo:Ext.get(
" divgrid " ),
     cm:cm,
     sm: sm2,
     enableDragDrop: 
true ,
        dropConfig: {
            appendOnly:
true
        },
        ddGroup: 
" GridDD " ,
      store:store,
        buttons: [{text:
' Save ' },{text: ' Cancel ' }],
        buttonAlign:
' center '
   });

    
// 拖动排序必须的代码
     var  ddrow  =   new  Ext.dd.DropTarget(grid.getEl(), {
        ddGroup: 
" GridDD " ,   //  Data come from
         //  copy:true,
        notifyDrop :  function (dd, e, data){
            
var  rows = grid.getSelectionModel().getSelections();
            
var  count  =  rows.length;
            
var  cindex = dd.getDragData(e).rowIndex;
            
var  array = [];
            
for ( var  i = 0 ;i < count;i ++ ){
                
var  index  =  cindex + i;
                array.push(index);
            }
             store.remove(store.getById( data.selections[
0 ].id));
            store.insert(cindex,data.selections); 

           grid.getView().refresh(); 
            grid.getSelectionModel().selectRows(array); 
        }
    });

    
//  传到后台排序的数据
        function  getSortIndexDate(store) {
            
var  resultNode  = [];
            
var  length  =  store.getCount();
            
for  ( var  i  =   0 ; i  <  length; i ++ ) {                        
                resultNode[i] 
=  {
                id: store.getAt(i).id,
                sortIndex:store.getAt(i).data.index 
                };
            }

             
var  encNodes  =  Ext.encode(resultNode);         
                
return  encNodes;
        }
hello
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值