Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Часть XML в качестве dataProvider`а (http://www.flasher.ru/forum/showthread.php?t=121057)

Роман Вадимович 06.02.2009 14:55

Часть XML в качестве dataProvider`а
 
Добрый день!
Я пишу прогу, которая может открывать существующие XML-файлы и редактировать их.
XML-файл имеет не сложную структуру:

Код:

<project>
  <menuOne>
    <menuItem label="Menu 1"/>
    <menuItem label="Menu 2"/>
    <menuItem label="Menu 3"/>
    ...
  </menuOne>

  <menuTwo>
    <menuItem label="Menu 1"/>
    <menuItem label="Menu 2"/>
    <menuItem label="Menu 3"/>
    ...
  </menuTwo>
</project>

После открытия такого файла редактором, я разбиваю его на части и предоставляю возможность редактировать их отдельными DataGrid`ами.

Код:

var partOne:XMLLIstCollection = new XMLListCollection(commonXML.menuOne.*);
var partTwo:XMLLIstCollection = new XMLListCollection(commonXML.menuTwo.*);

Во время сохранения, я "склеиваю" эти части и получаю на выходе конечный файл.
Вопрос в том, верно ли я делаю? На сколько я понимаю невозможно использовать в качестве dataProvider`а часть XML файла и нужно поступать как я предположил?

mitado 06.02.2009 19:13

воспользуйтесь AdvancedDataGrid

Роман Вадимович 09.02.2009 11:53

Спасибо, за совет. Я им как раз пользуюсь для обработки одной части XML файла.
Но дело в том, что приложение имеет очень много настроек и в любом случае его необходимо разбивать на составляющие.
Меня же интересует - правильный ли я выбрал подход, указанный в первом сообщении.

wvxvw 09.02.2009 13:52

Когда вы создаете ArrayCollection вы не разбиваете XML на части, а именно работаете с какой-то выборкой... А вообще, тяжело что-то конкретное сказать не видя что именно вы с ним делаете...

Ales Protiv 09.02.2009 14:17

Я использую в качестве dataProvider нужную часть XML напрямую. Выглядит примерно так:
Код AS3:

...
[Bindable]
private var root:XML;
...
<mx:DataGrid x="0" dataProvider="{root.nodes}"
...

Приложение как раз по сути делает похожую вещь - правит один XML в разных гридах и прочих контролах.


Часовой пояс GMT +4, время: 22:16.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.