Как я могу проверить ячейки в DataGridColumn индивидуально? (ActionScript 3.5) Проверка настроена для каждой ячейки на основе полей в данной строке. Например
FIELD VALUE TYPE
age 13 Integer
height 13x3 Integer
registered true Boolean
temperature 98.G6 Float
В этом случае, конечно, 13x3 и 98.G6 будут недействительными.
Легко написать Валидатор ; и для доступа к объектам поставщика данных.
Но как мне получить индивидуальный доступ к объектам ячейки GUI, чтобы я мог установить errorString в отдельной ячейке, либо напрямую, либо через Validator ?
Элемент itemRenderer / TextInput повторно используется в ячейках по соображениям производительности, поэтому доступ к объектам уровня GUI довольно сложен.
Редактировать
Ответы:
Одним из способов проверки и отображения меток аннулирования, но не для каждой ячейки, является проверка всех объектов поставщика данных, а затем установка errorString во всей сетке.
Один из способов проверки на ячейку - обработчик события itemEditEnd . (См. Эти страницы A B C D ). Один недостаток заключается в том, что он разрешает доступ к ячейкам только изнутри, а не в действии, которое проверяет сетку по команде.
Пользовательский itemRenderer - это еще одна возможность, как и в ответе ниже, но, как и в 3 выше, он разрешает доступ к ячейкам только изнутри, а не в действии, которое проверяет сетка по команде.
См. Ответ Ричарда Хейвена ниже.
А вот как получить доступ к объектам GUI : список соответствующих объектов GUI является защищенным полем; так что вы можете получить к нему доступ по подклассам, а затем перебрать GUI-компоненты, которые представляют ячейки, и установить errorString для каждой из них.