在someButton
点击事件中,我希望在事件处理程序中依赖于someGrid
和Do something
。我怎样才能做到这一点?我尝试使用
var index = someGrid.getSelectionModel().getSelection().selectedIndex;
var index = someGrid.getSelectionModel().getSelection().selected;
这两行代码都返回空对象。
flex: 1,
xtype: 'grid',
style: 'margin: 10px 5px;',
store: 'CL.Store.VendorServiceLimits',
itemId: 'vendorServiceLimitsGrid',
columns: [
{ text: Labels.Vendors.MIN_AMOUNT, dataIndex: 'MinOperationAmount', flex: 1 },
{ text: Labels.Vendors.MAX_AMOUNT, dataIndex: 'MaxOperationAmount', flex: 1 },
{ text: Labels.Vendors.MAX_TRANS_PER_DAY, dataIndex: 'MaxOperationsPerDay', flex: 1 },
{ text: Labels.Vendors.OPERATION_TYPE, dataIndex: 'OperationType', flex: 1 },
{ text: Labels.Vendors.PERIOD, dataIndex: 'Period', flex: 1 },
{ dataIndex: 'Id', hidden: true }
],
答案 0 :(得分:2)
您正在寻找的是:
listeners:{
click:function(){
var grid = Ext.getCmp('grid');
var selection= grid.getSelectionModel();
items=[];
for(i=0;i < grid.store.getCount();i++){
if(selection.isSelected(i)){
items.push({
"MinOperationAmount" : grid.store.getAt(i).data.MinOperationAmount,
"MaxOperationAmount" : grid.store.getAt(i).data.MaxOperationAmount
});
}
}
}
}
在items数组中,您将获得所有选定记录的处理。这里我只推送了两列数据。您也可以添加其他列。
答案 1 :(得分:0)
要使用getSelectionModel
,您必须SelectionModel
所以你必须添加以上内容。
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel1" runat="server" />
</SelectionModel>
上述内容适用于RowSelection
。如果要使用复选框,还有其他示例。
上面的xml取自ext.net。