Сделать столбцы редактируемыми, используя условие if в сетке w2ui

$('#grid').w2grid({ 
    name: 'grid',
    columns: [  
              { 
                  field: 'code', 
                  caption: 'Code', 
                  size: '120px', 
                  sortable: true, 
                  resizable: true, 
                  editable: { 
                      type: 'text' 
                  }
              }

Я хочу, чтобы он редактировался с условием if, например, если другие поля пусты, я не хочу делать его редактируемым. Как мне это сделать?

1 ответ

Решение

У вас есть как минимум два варианта:

Либо установить record.w2ui.editable = false для вашей конкретной записи (это требует, чтобы ваш источник данных был динамическим и содержал какую-то логику).

- или же -

В w2ui 1.5, grid.columns[i].editable также может быть функцией вместо объекта, поэтому вы можете написать свою собственную функцию проверки, которая будет определять, будет ли ячейка редактируемой.

Цитата из исходных файлов:

col.editable может быть функцией, которая будет вызываться с теми же аргументами, что и col.render()

Поскольку последний документ плохо документирован, я предлагаю вам взглянуть на реализацию getCellEditable() в источниках w2grid.js, чтобы понять, как будут взаимодействовать два упомянутых мной варианта.

Другие вопросы по тегам