2015-09-30 45 views
0

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

回答

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); 

我希望我给你一个很好的例子,它不是复杂的。 我没有测试我的代码,所以也许你将不得不纠正一点点。

祝你好运!

+0

在每一行选择和取消选择,我已添加对象中选定的记录。我没有从grid.getSelectionModel()。getSelections()中检索选择,而是从我的对象中检索选定的记录。 – Saranya