Можно ли настроить некоторые столбцы на панели сетки extJS, чтобы они не редактировались? - PullRequest
0 голосов
/ 06 ноября 2011

Все решения, которые я вижу, требуют обработчиков событий, которые фильтруются на основе индекса или имени столбца.Я не могу поверить, что в конфигурации сетки нет способа сделать это для начала?

ОБНОВЛЕНИЕ: я использую extJs 4.0 и создаю Ext.grid.Panel

Ответы [ 3 ]

4 голосов
/ 06 ноября 2011

На самом деле столбец недоступен для редактирования по умолчанию. Это становится редактируемым, когда вы устанавливаете editor config.

Это из документов для Ext.grid.plugin.CellEditing:

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

0 голосов
/ 30 октября 2018

Да, некоторые столбцы можно обязательно сделать недоступными для редактирования по мере необходимости. это продолжается так

  1. получить плагин для редактирования ячеек сетки и связать событие beforeedit

    var plugin = grid.getPlugin('your_cell_editing_plugin_name');
     if(!Ext.isEmpty(plugin)) {
         plugin.on('beforeedit',this.gridBeforeEdit,this);
     }
    
  2. вот что делать, когда до этого вызывается

    gridBeforeEdit: function(editor, e, eOpts ) {
        var me          = this,
            editedField = e.field;
        if(editedField == "your_need_to_be_uneditable_fld"){ 
              return false;
         }
     },
    
0 голосов
/ 06 ноября 2011

Я собираюсь ответить на ваш вопрос («возможно ли настроить некоторые столбцы в extjs-grid-panel-to-un-editable») буквально и проигнорировать ваш заключительный комментарий, что «вы не можете поверить, что в конфигурации сетки нет способа сделать это с самого начала».

Да, это возможно. Создайте xtype, который расширяет GridPanel, затем пусть этот xtype реализует событие beforecellselect для поиска настраиваемого параметра конфигурации (например, «uneditable»), который, вероятно, должен быть массивом, и затем возвращает false, если индекс столбца или имя совпадают.

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