惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
博客园_首页
H
Help Net Security
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
B
Blog
I
InfoQ
SecWiki News
SecWiki News
T
Tailwind CSS Blog
Spread Privacy
Spread Privacy
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Vulnerabilities – Threatpost
N
Netflix TechBlog - Medium
P
Palo Alto Networks Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Vercel News
Vercel News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
K
Kaspersky official blog
M
MIT News - Artificial intelligence
S
Schneier on Security
T
Threat Research - Cisco Blogs
F
Fortinet All Blogs
Cyberwarzone
Cyberwarzone
Scott Helme
Scott Helme
aimingoo的专栏
aimingoo的专栏
Martin Fowler
Martin Fowler
MyScale Blog
MyScale Blog
The Cloudflare Blog
Recent Announcements
Recent Announcements
Security Latest
Security Latest
G
GRAHAM CLULEY
IT之家
IT之家
Y
Y Combinator Blog
The Last Watchdog
The Last Watchdog
腾讯CDC
Google DeepMind News
Google DeepMind News
V
V2EX
S
Securelist
TaoSecurity Blog
TaoSecurity Blog
B
Blog RSS Feed
S
SegmentFault 最新的问题
博客园 - 叶小钗
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
Project Zero
Project Zero
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
F
Full Disclosure

博客园 - 笑笑江南

sss IBATIS 延迟加载 iBATIS一对多/多对多N+1问题解决方案 - 笑笑江南 - 博客园 [转]office outlook 2007 如何设置开机自动启动 代码整洁之道 类关系 eclipse 快捷键 9-15 企业数据更新 mysql 常用函数 利用myeclipse生成Hibernate Mapping文件【转】 配置eclipse下tomcat启动参数【转】 安装svneclipse .net 开发相关工具(包)的作用 basicform 与 store struts2 file 标签产生的一个问题 使用 ajax 提交数据 applyTo ,render, contentel,el,applytomarkup 的区别 呕吐呕吐 tabpanel 添加 tab
gridpanel中拖拽排序
笑笑江南 · 2008-12-23 · via 博客园 - 笑笑江南

     //  定义拖动时样式
    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