пользовательский getCellEditor - PullRequest
       2

пользовательский getCellEditor

0 голосов
/ 23 февраля 2011

Я использую пользовательский CellEditor в своей сетке:

getCellEditor: function(colIndex, rowIndex) {
    var field = this.getDataIndex(colIndex);
    if (field == 'value') {
    if ( type == 3 ) {
        return this.editors['number'];
    }   else if ( type == 1 ) {
        return this.editors['select'];
    }   else if ( type == 4 ) {
        return this.editors['checkbox'];
    }
    }
return Ext.grid.ColumnModel.prototype.getCellEditor.call(this, colIndex, rowIndex);
}
},this);

type - это record.get ('type') из grid.store. Как узнать, введите в этом getCellEditor? (Я не хочу использовать глобальную переменную :))

Ответы [ 2 ]

1 голос
/ 23 февраля 2011

Вы можете использовать параметр rowIndex, чтобы получить доступ к «типу» для текущей строки в вашей сетке:

grid.store.getAt(rowIndex).data.type
0 голосов
/ 24 февраля 2011

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

var record = store.getAt(rowIndex);
  for(var i = 0; i<record.fields.length; i++) {
    if(record.fields[i].name == 'Your Field')  {
      alert(record.fields[i].type);
    }
 }

Это не проверено, но показывает, как вы можете проверить тип заданного поля в записи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...