Возникли проблемы с захватом rowIndex в рендере столбцов - PullRequest
2 голосов
/ 22 февраля 2012

Я пытаюсь установить флажок в сетке, используя CheckBoxSelectionModel.
Как сетка загружает данные из моего магазина, как мне получить rowIndex загружаемой строки? Я хотел бы проверить значение определенного столбца dataIndex, и на основе значения я хотел бы выбрать поле в начале строки. Этот код не работает, но это то, что я хотел бы сделать:

   columns:

            [
                    {dataIndex: 'de_sealed_doc', renderer: function(value,rowIndex,store,record){

                    console.log('rowIndex == '+rowIndex);

                    var sealedDocIndex = this.rowIndex;

                    //var gridModel = grid.getSelectionModel().select(2);

                    grid.getSelectionModel().select(sealedDocIndex);

                    //grid.getSelectionModel().selectAll();

                    console.log('sealedDocIndex --> '+sealedDocIndex);
                    //console.log('gridModel--> '+gridModel);
                    console.log('value--> '+value);



                    },

                    hidden: true},

                    {header: 'Document #', dataIndex: 'de_seqno', width: 100},
                    {header: 'Docket Text', dataIndex: 'docketText', renderer: this.customRenderer, width: 1000},
                    {header: 'Document(s)', dataIndex: 'docsDisplay', width: 500}

            ],

Может ли кто-нибудь помочь мне с этим? Если вам нужно увидеть больше кода, чтобы он стал более понятным, просто дайте мне знать.

1 Ответ

0 голосов
/ 22 февраля 2012

Вы должны быть в состоянии заставить его работать с несколькими изменениями в вашем коде. Вот исправления, которые вам нужны:

  1. Вы должны иметь правильную функцию рендеринга . Вот пример, который поможет вам получить все необходимые данные:

    renderer: function(value,meta,record,rowIndex,colIndex,store,view){ // code goes here }

  2. Убедитесь, что вы правильно вызвали метод выбора модели выбора. Вот пример:

    selModel.select(rowIndex,true); // The second param set true is MUST if you need multiselect!

Итак, вот как должен выглядеть ваш код:

renderer: function(value,meta,record,rowIndex,colIndex,store,view){     

    if(record.get('de_sealed_doc') == true){  // put your correct condition
        grid.getSelectionModel().select(rowIndex,true);
    }
}
...