Ext.grid.CheckboxSelectionModel проверил все строки при загрузке - PullRequest
0 голосов
/ 13 февраля 2012

Я хочу, чтобы мои 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();

Но только при первом входе на страницу это работает хорошо, когда я возвращаюсь со следующей страницы, это не работает.

Странно, что когда я добавляюна нижней панели метка, которая содержит сумму данных проверенных строк, а метка показывает сумму всех строк!Итак, метод вызван хорошо, но флажки не отображаются как проверенные.

Вы сталкивались с этой проблемой?

1 Ответ

4 голосов
/ 23 февраля 2012

Я видел, что это произошло из-за того, что рендер активирован дважды. Добавил это значение -'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
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...