1、之前在winForm上有看過在選擇數據時會將一些數據放在待選框中,而用戶可以將想要選擇的數據放到備選框中,那么如何用Extjs實現類似功能,我們選擇用兩個gridPanel來模擬其中的備選框和待選框。如下圖所示:
定義代碼如下:
{
xtype:'gridpanel',
multiSelect: true,
id:'staff',
x: 5,
y: 0,
height: 205,
width: 260,
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';
}
}
},
store:StaffData, //加載數據的store
columns: columns,
stripeRows: true,
title: '從業人員',
margins: '0 2 0 0'
},
{
xtype:'gridpanel',
id:'admin',
x: 280,
y: 0,
height: 205,
width: 260,
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';
}
}
},
store:AdminData,
columns:columns,
stripeRows:true,
title:'管理員',
margins:'0 0 0 3'
}
這樣我們在拖拽時即可以將數據存儲在所對應的store中,需要的時候從store取出數據即可。