|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Dec 2010
Сообщений: 177
|
Метод set data пользовательского itemRenderer AdvancedDataGridColumnGroup
Здравствуйте!
Подскажите, пожалуйста! Есть пользовательский itemRenderer AdvancedDataGridColumnGroup. Я перезаписываю метод set data(value:Object). Мне нужно получить значение этой конкретной ячейки, но value заключает в себя значения всех ячеек в строке, а значение ячейки AdvancedDataGridColumnGroup сложносоставное, тобишь: value = {par1:"", par2:{e111:{p1:"Нужное значение"}}}; Как мне получить нужное значение? Есть-ли возможность выйти на значение через свойство dataField? Вот проблемный код, простите за пространность (суть вопроса в комментариях кода): var column1:AdvancedDataGridColumn = new AdvancedDataGridColumn(); column1.dataField = "par1"; var groupColumnviewDG:AdvancedDataGridColumnGroup = new AdvancedDataGridColumnGroup(); groupColumnviewDG.dataField = "par2"; for each(var element:Object in newAr[0].group){ var newDGColumn:AdvancedDataGridColumnGroup = new AdvancedDataGridColumnGroup(); newDGColumn.dataField = "e"+element.ID; // глубины newAr[0].group я не знаю var newGroupColumn1:AdvancedDataGridColumn = new AdvancedDataGridColumn(); newGroupColumn1.dataField = "p1"; newGroupColumn1.itemRenderer = new ClassFactory(ItemRendDiscNazva); // вот этот itemRenderer должен знать о своём значении var newGroupColumn2:AdvancedDataGridColumn = new AdvancedDataGridColumn(); newGroupColumn2.dataField = "p2"; var newGroupColumn3:AdvancedDataGridColumn = new AdvancedDataGridColumn(); newDGColumn.children.push(newGroupColumn1, newGroupColumn2); groupColumnviewDG.children.push(newDGColumn); } viewDG.groupedColumns = new Array(column1, groupColumnviewDG); viewDG.dataProvider = newAr; Последний раз редактировалось zorexundra; 30.11.2011 в 18:28. Причина: Уточнение вопроса |
|
|||||
Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
|
В Flex3 itemRenderer надо было имплементить от mx.controls.listClasses.IDropInListItemRenderer, через метод listData устанавливать _dataField. Типа:
[Bindable("dataChange")] public function get listData():BaseListData { return _listData; } public function set listData(value:BaseListData):void { _listData = value; _dataGrid = value.owner as DataGrid; _dataField = (value as DataGridListData).dataField; } override public function set data(value:Object):void { super.data = value; trace(value[_dataField]); } Добавлено через 1 минуту P.S. для AdvancedDataGrid посмотри доки, может там немножко по другому.
__________________
Я просто добрый шутник. |
|
|||||
Регистрация: Dec 2010
Сообщений: 177
|
scarbo, речь идёт о mx.controls.AdvancedDataGrid. Доки таких деталей не освещают.
Суть моей проблемы: Я могу обратиться через параметр value метода set data() к поставщику данных: value.Колонка1.Колонка1_2.Колонка1_2_1, но я не знаю количество колонок Колонка1_..., и мне требуется, чтобы мой itemRenderer Колонка1_?_1 сам узнал к какой колонке он относится (символ ?) и сам выявил собственное значение, которое отображается в некастомизированной ячейке. Добавлено через 1 час 53 минуты И ещё: мой itemRenderer наследуется от mx.containers.Canvas. Последний раз редактировалось zorexundra; 02.12.2011 в 11:54. Причина: Ложное сообщение |
|
|||||
Регистрация: Dec 2010
Сообщений: 177
|
GBee, мне нужно реализовать алгоритм:
Если значение ячейки = 1, то отобразить в ячейке - 2. |
|
|||||
Регистрация: Dec 2010
Сообщений: 177
|
GBee, ИМХО, не лучший способ. Думаю ячейка сама должна себя представлять.
Моя проблема в том, что имея поставщик данных и не зная его структуры, я не могу получить значение конкретной ячейки, хотя сам AdvancedDataGrid прекрасно с этой задачей справляется. Всё что мне удалось на этот момент, это в itemRenderer, наследуемом от AdvancedDataGridGroupItemRenderer выудить значение через label.text, но из-за того, что это значение зависит от визуализации компонента, я не могу его использовать. Последний раз редактировалось zorexundra; 02.12.2011 в 12:46. |
|
|||||
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
Регистрация: Dec 2010
Сообщений: 177
|
GBee, в моём случае значение окажется undefined.
Моя ячейка выглядит так: item[другая_column.dateField][неизвестная_column.dateField][column.dateField] Последний раз редактировалось zorexundra; 02.12.2011 в 18:03. |
Часовой пояс GMT +4, время: 22:43. |
|
« Предыдущая тема | Следующая тема » |
|
|