extjs4.0----Grid To Grid拖拽示例


<script type="text/javascript">

Ext.require([
'Ext.grid.*',
'Ext.data.*',
'Ext.dd.*'
]);

Ext.define('DataObject', {
extend: 'Ext.data.Model',
fields: ['name', 'column1', 'column2']
});

Ext.onReady(function(){

var myData = [
{ name : "娜姐", column1 : "25", column2 : "3" },
{ name : "船长", column1 : "24", column2 : "2" },
{ name : "傻妞", column1 : "23", column2 : "3" },
{ name : "阿呆", column1 : "25", column2 : "3" },
{ name : "猫猫", column1 : "24", column2 : "3" }
];

// create the data store
var firstGridStore = Ext.create('Ext.data.Store', {
model: 'DataObject',
data: myData
});


// Column Model shortcut array
var columns = [
{text: "姓名", flex: 1, sortable: true, dataIndex: 'name'},
{text: "年龄", width: 70, sortable: true, dataIndex: 'column1'},
{text: "水龄", width: 70, sortable: true, dataIndex: 'column2'}
];

// declare the source Grid
var firstGrid = Ext.create('Ext.grid.Panel', {
multiSelect: true,
viewConfig: {
plugins: {
ptype: 'gridviewdragdrop',
dragGroup: 'firstGridDDGroup',
dropGroup: 'secondGridDDGroup'
},
listeners: {
drop: function(node, data, dropRec, dropPosition) {
var dropOn = dropRec ? ' ' + dropPosition + ' ' + dropRec.get('name') : ' on empty view';
//Ext.example.msg("Drag from right to left", 'Dropped ' + data.records[0].get('name') + dropOn);
}
}
},
store : firstGridStore,
columns : columns,
stripeRows : true,
title : '待选',
margins : '0 2 0 0'
});

var secondGridStore = Ext.create('Ext.data.Store', {
model: 'DataObject'
});

// create the destination Grid
var secondGrid = Ext.create('Ext.grid.Panel', {
viewConfig: {
plugins: {
ptype: 'gridviewdragdrop',
dragGroup: 'secondGridDDGroup',
dropGroup: 'firstGridDDGroup'
},
listeners: {
drop: function(node, data, dropRec, dropPosition) {
var dropOn = dropRec ? ' ' + dropPosition + ' ' + dropRec.get('name') : ' on empty view';
//Ext.example.msg("Drag from left to right", 'Dropped ' + data.records[0].get('name') + dropOn);
}
}
},
store : secondGridStore,
columns : columns,
stripeRows : true,
title : '已选',
margins : '0 0 0 3'
});

//Simple 'border layout' panel to house both grids
var displayPanel = Ext.create('Ext.Panel', {
width : 650,
height : 300,
layout : {
type: 'hbox',
align: 'stretch',
padding: 5
},
renderTo: Ext.getBody(),
defaults : { flex : 1 }, //auto stretch
items : [
firstGrid,
secondGrid
],
dockedItems: {
xtype: 'toolbar',
dock: 'bottom',
items: ['->', // Fill
{
text: '全选',
handler: function(){
firstGridStore.removeAll();
secondGridStore.loadData(myData);

}
},{
text: '取消',
handler: function(){
firstGridStore.loadData(myData);
secondGridStore.removeAll();
}
}]
}
});
});

</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值