在EXT JS 3.x中跨页面选择

时间:2015-09-30 05:28:19

标签: javascript extjs extjs3

我们正在使用EXT-JS 3.x.要从页面中选择记录,请使用方法selectRecords()。现在,我可以在浏览页面时选择记录。但问题是,在单击提交按钮时,所有选定的跨页面记录都应该是可见的。但是在代码行grid.getSelectionModel().getSelections()下面 返回当前页面中的选定记录。 是否有任何选项可用于获取所有选定的记录?

1 个答案:

答案 0 :(得分:0)

不知道它是否适合您,但我可以建议您在商店中使用新列来指示是否选择了该行。该列将是一个布尔值。您可以使用侦听器rowselect和rowdeselect设置它的值。 在提交时,您将能够查询商店以仅获取具有正确指标值的记录。

例如:

var myStore = new Ext.data.JsonStore({ 
        fields: [{name:"col1", type:"string"}, {name:"INDICATOR", type:"'boolean'"}]
    });   
var myGrid = new Ext.grid.GridPanel({
    store: store,
    columns: [...//Don't put the INDICATOR here
    sm: new Ext.grid.RowSelectionModel({singleSelect: false}),
       ....
       listeners: {
         rowselect: (e,index, record){
              record.data["INDICATOR"] = true;
         },
         rowdeselect: (e,index, record){
              record.data["INDICATOR"] = false;
         },
         ....
    }
});

提交

var mySelection = myStore.query("INDICATOR", true);

我希望我能给你一个很好的例子,这并不复杂。 我没有测试我的代码,所以也许你必须稍微纠正它。

祝你好运!