我希望我的Ext.grid.CheckboxSelectionModel
加载SelectionModel
已选中的所有复选框。
我写这个方法:
function SelectAllRows()
{
var sModel = reportsGrid.getSelectionModel();
sModel.selectAll(true);
}
尝试从很多地方调用它:
var xmlStore = new Ext.data.Store({
url: "...",
reader: new Ext.data.XmlReader({
record: '...',
totalRecords: "results"
},
record
)
});
xmlStore.on('load', CheckResults);
xmlStore.on('load', SelectAllRows);
xmlStore.load();
但是只有在页面的第一个入口才能正常工作,当我从下一页回来时它不起作用。
奇怪的是,当我向底栏添加一个标签,其中包含已检查行的数据总和,标签显示所有行的总和! 因此,该方法调用良好,但复选框不显示为已选中。
你遇到过这个问题吗?
答案 0 :(得分:4)
我看到它发生了,因为渲染激活两次, 将此值-'deferRowRender:false'添加到Ext.grid.GridPanel属性中, 使复选框标记在页面的每个入口/负载上。
var reportsGrid = new Ext.grid.GridPanel({
cm: new Ext.grid.ColumnModel([
sm,
{ id: '...', dataIndex: '...', hidden: true },
{ header: '...', width: 200, sortable: true, dataIndex: '...' }
]),
sm: sm,
deferRowRender: false
});