2012-02-22 3 views
2

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

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} 

      ], 

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

+0

Я не уверен, если я полностью понимаю ваш вопрос, это данные, которые пытаться сделать как флажок не true или false? – Geronimo

+0

Нет, но спасибо за ваш ответ. Я хотел проверить значение dataIndex, в данном случае «de_sealed_doc», и если значение не было равно «y», я хотел бы проверить коробку строки, в которой находится это значение. Решено решение Абделя. –

ответ

0

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

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

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

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

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

Это работает! Большое спасибо. Если вы не возражаете, я спрашиваю, как вы смогли прийти к этому решению. Перед поиском различных форумов я прочитал документацию Sencha, и это ОЧЕНЬ ограничено. Я только знал, что эти параметры визуализатора существуют, потому что я просмотрел исходный код функции Ext.grid.column.Column.getIndex(). Не могли бы вы порекомендовать какие-нибудь книги или сайты, которые могли бы найти решение для таких вещей немного менее болезненным? –