Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ext.grid.CheckboxSelectionModel已检查加载时的所有行_Javascript_Extjs - Fatal编程技术网

Javascript Ext.grid.CheckboxSelectionModel已检查加载时的所有行

Javascript Ext.grid.CheckboxSelectionModel已检查加载时的所有行,javascript,extjs,Javascript,Extjs,我希望加载我的Ext.grid.CheckboxSelectionModel,并选中SelectionModel中的所有复选框 我写这个方法: function SelectAllRows() { var sModel = reportsGrid.getSelectionModel(); sModel.selectAll(true); } 并尝试从多个地方调用它: var xmlStore = new Ext.data.Store({ url: "..

我希望加载我的
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();
但只有在第一次进入页面时,它才工作得很好,当我从下一页返回时,它就不工作了

奇怪的是,当我将一个标签添加到底部栏时,它包含选中行的数据总和,而标签显示所有行的总和! 因此,该方法调用良好,但复选框不显示为选中


你遇到过这个问题吗?

我看到它是因为渲染激活了两次, 在Ext.grid.GridPanel属性中添加了此值--“deferRowRender:false”, 在第页的每个入口/装载物上标记复选框

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

我看到这是因为渲染激活了两次, 在Ext.grid.GridPanel属性中添加了此值--“deferRowRender:false”, 在第页的每个入口/装载物上标记复选框

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

这可能是因为您拥有所有数据,并且分页是在本地完成的。因为这个负载只被调用一次。我假设您正在使用Ext.PagingToolbar在页面之间切换?也许你想钩住分页工具栏的
change
事件上的
SelectAllRows
?我没有在这个网格中使用Ext.PagingToolbar,似乎SelectAllRows方法调用得很好,因为底部工具栏包含所有行的数量(已选中),但它只是没有显示它们已选中(视觉问题)。这可能是因为您拥有所有数据,并且分页是在本地完成的。因为这个负载只被调用一次。我假设您正在使用Ext.PagingToolbar在页面之间切换?也许你想钩住分页工具栏的
change
事件上的
SelectAllRows
?我没有在这个网格中使用Ext.PagingToolbar,似乎SelectAllRows方法调用得很好,因为底部工具栏包含所有行的数量(已检查),但它只是没有显示它们已检查(视觉问题)。