Табулятор: редактирование вложенного значения и получение родительского объекта - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь получить родительский объект для вложенного поля, которое я редактирую.

Предположим, что мое определение столбца выглядит так:

columns:[
        {title:"Name" + i, field:"user" + i + ".name", cellEdited : cellEditDone},  
    ],

А мой cellEditDone выглядит так:

cellEditDone: function (cell) {
  var rowData = cell.getRow().getData();

  var value = cell.getValue();
}

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

Итак, когда я заканчиваю редактировать ячейку, мне нужно получить конкретный объект (в данном случае объект пользователя), который был отредактирован, а не только поле имени.

Могу ли я каким-то образом получить родительское поле для поля ячеек или я могу каким-то образом получить дополнительные пользовательские данные для функции cellEditDone для каждой строки / ячейки, чтобы идентифицировать конкретного пользователя с отредактированным именем?

1 Ответ

0 голосов
/ 04 апреля 2019

Хорошо.Занимаясь этим весь вечер и 5 минут после того, как я опубликую вопрос здесь, я найду решение ..

Оказывается, вы можете добавить пользовательские данные в определение столбца;

columns:[
        {title:"Name" + i, field:"user" + i + ".name", cellEdited : cellEditDone, userIndex : i},  
],

и получить его следующим образом в событии editDone:

var definition = cell.getColumn().getDefinition();
var theIndex = definition.userIndex;
...