#flash #datagrid #cellrenderer #labelfunction
#flash #сетка данных #cellrenderer #функция метки
Вопрос:
У меня есть datagrid в моем приложении Flash, данные которого обновляются довольно часто. При каждом обновлении мне нужно изменять цвет ячейки только для тех ячеек, данные которых изменились. Кроме того, если обновленное значение меньше более старого значения, тогда цвет ячейки должен измениться на КРАСНЫЙ, иначе на ЗЕЛЕНЫЙ.
Я пробовал использовать labelFunction, cellrenderer и т.д. Но безрезультатно. Я никоим образом не могу получить доступ к текущим данным в ячейках, чтобы сравнить их с новыми данными.
Это привело меня в замешательство. Осталось вырвать последние волосы с моей головы!
Заранее спасибо за любую помощь!
Комментарии:
1. своего рода пример кода может помочь мне понять проблему
Ответ №1:
Это то, что вам нужно:http://blogs.adobe.com/pdehaan/2007/06/setting_a_flash_data_grids_bac_1.html
получите пример fla:http://blogs.adobe.com/pdehaan/code/section13.example1.zip
Комментарии:
1. Привет, nelsond8, спасибо за ваш ответ. Но приведенный вами пример уже содержит цвет для отображения ячейки в самих данных. Однако в моем случае мне нужно определить цвет ячейки на основе разницы между текущими данными ячейки и новыми данными, которые будут отображаться в этой ячейке.
2. откуда поступают ваши данные? база данных или xml? Я использовал этот класс для чего-то похожего на вашу проблему, в моем случае каждый раз, когда я добавлял строку другого типа, цвет bg менялся. У вас есть живой пример? Я совершенно уверен, что вы можете добиться всего, чего хотите, используя код, который я вам дал!
3. Привет, nelsond8, спасибо за код. Но то, что я искал, — это способ сравнить текущее и новое значение ячейки для каждой ячейки столбца datagrid. Я надеялся, что этого можно достичь с помощью cellrenderer или labelFunction. Но, оказывается, вы не можете получить доступ к данным, находящимся в данный момент в ячейке, как с помощью labelFunction, так и с помощью методов CellRenderer. Итак, наконец, я решил сравнить новый набор данных с dataprovider из datagrid и вставить несколько дополнительных параметров. Теперь с помощью упомянутого вами кода и этих дополнительных параметров, которые я добавил, я могу обновить bgcolor ячейки в моей сетке.