Ответ 1
Вероятно, вам нужно использовать свойство classes для соответствующего столбца.
Я не уверен, что это вам нужно, потому что вы писали о FormElement
классе, существующем в форме. В случае, если вы должны использовать beforeShowForm обратный вызов редактирования формы, например, чтобы добавить класс в поле ввода соответствующего поля формы редактирования. Идентификатор полей в форме совпадает с свойством name
соответствующего столбца colModel
.
Если вам действительно нужно добавить атрибут класса в ячейки одного столбца, у вас есть еще одна возможность: определение cellattr
обратного вызова для столбца colModel
. Способ может быть практичным, если вам нужно добавить класс не для всех ячеек столбца. Вы можете проверить некоторые условия на основе содержимого строки и установить класс только в том случае, если это условие выполнено. Например, использование classes:'ui-state-error-text ui-state-error'
будет устанавливать соответствующие два класса (ui-state-error-text
и ui-state-error
) для всех ячеек в столбце. С другой стороны функция обратного вызова
cellattr: function(rowId, val, rawObject) {
if (parseFloat(val) > 200) {
return " class='ui-state-error-text ui-state-error'";
}
}
позволяет вам установить класс только в том случае, если значение ячейки выше, чем 200. Я не использовал rawObject
в вышеупомянутом обратном вызове, и поэтому можно было удалить необязательный параметр. Я добавил его в обратный вызов, чтобы напомнить вам, что можно использовать параметр для доступа к значениям из других столбцов строки. Таким образом, вы можете реализовать еще более сложные сценарии в cellattr
.
В результате можно получить сетку, как на следующем рисунке:
ОБНОВЛЕНО. Если вам нужно добавить class
в поле ввода редактируемой формы, вы можете дополнительно использовать обратный вызов dataInit
editoptions. В случае использования будет очень просто. Вы можете сделать, например, следующее:
editoptions: {
dataInit: function (domElem) {
$(domElem).addClass("ui-state-highlight");
}
}
В результате вы получите форму редактирования, например
Здесь вы можете найти здесь.