#javascript #object #parent #tabular #tabulator
#javascript #объект #родительский #табличный #табулятор
Вопрос:
Я пытаюсь получить родительский объект вложенного поля, которое я редактирую.
Давайте предположим, что мое определение столбца выглядит следующим образом:
columns:[
{title:"Name" i, field:"user" i ".name", cellEdited : cellEditDone},
],
И мой cellEditDone выглядит следующим образом:
cellEditDone: function (cell) {
var rowData = cell.getRow().getData();
var value = cell.getValue();
}
Теперь, как вы можете видеть, определения столбцов могут быть динамически сгенерированы на основе того, сколько строк должно появиться в строке.
Итак, когда я заканчиваю редактирование ячейки, мне нужно получить конкретный объект (в данном случае пользовательский объект), который был отредактирован, а не только поле name.
Могу ли я каким-то образом получить родительское значение поля cells или я могу каким-то образом получить дополнительные пользовательские данные в функцию cellEditDone для каждой строки / ячейки, чтобы идентифицировать конкретного пользователя с отредактированным именем?
Ответ №1:
Что ж. Занимаюсь этим весь вечер и через 5 минут после того, как я разместил здесь вопрос, я нахожу решение..
Оказывается, вы можете добавлять пользовательские данные в определение столбца;
columns:[
{title:"Name" i, field:"user" i ".name", cellEdited : cellEditDone, userIndex : i},
],
и извлеките его следующим образом в событии editDone :
var definition = cell.getColumn().getDefinition();
var theIndex = definition.userIndex;