Управление заполнением дерева Flex из DataSet - PullRequest
1 голос
/ 19 августа 2009

В настоящее время я работаю над управлением деревом, и я впервые вникну в это, мне нужны ваши отзывы и советы.

Элемент управления моего дерева извлекает данные из веб-службы .NET. Мой веб-сервис .NET возвращает строку, которая анализируется из набора данных с помощью метода DataSet.GetXML команды.

Function MyFunc() as String
  'Populate the dataset here
  '.......
  Return DataSet.GetXML()
End Function

В моем приложении Flex я преобразовываю строковое значение, возвращаемое веб-сервисом, в XML:

private var _xmlMyData:XML;

private function myResultHandler(event:ResultEvent) :void
{
  _xmlMyData = XML(event.result);
  // This script to view the XML data in Text Area
  var strData:String = String(event.result);
  taData.text = strData;
}

который я затем передаю своему элементу управления xmlListCollection

<mx:XMLListCollection id="xmllc_myData" source="{_xmlMyData.Table}" />
<mx:TextArea id="taData" width="300" height="100" />

Затем привязка к моему дереву управления:

<mx:Tree id="treeOffshore" dataProvider="{xmllc_myData}" labelField="DESCN" showRoot="false">
</mx:Tree>

При просмотре данных в элементе управления текстовой области, у меня есть следующее:

<NewDataSet>
  <Table>
    <CODE>A1</CODE>
    <DESC>Area One</DESC>
  </Table>

  <Table>    
    <CODE>B2</CODE>
    <DESC>Base Two</DESC>
  </Table>

  <Table>
    <CODE>C4</CODE>
    <DESC>Class Four</DESC>
  </Table>

  <Table>
    <CODE>D8</CODE>
    <DESC>Demo Eight</DESC>
  </Table>
</NewDataSet>

Вот так выглядит дерево:

Area One
  A1
  Area One
Base Two
  B2
  Base Two
Class Four
  C4
  Class Four
Demo Eight
  D8
  Demo Eight

То, что я хочу, это иметь возможность определять описание только на первом уровне:

Area One
Base Two
Class Four
Demo Eight

Следующее, что мне нужно сделать, это то, что второй уровень древовидной структуры должен заполняться на основе кода из первого уровня.

Например:

Area One
  Sub Item Area One
  Sub Item Area Two
Base Two
  Sub Item Base Two
  Sub Item Base Three
  Sub Item Base Four
Class Four
  Sub Item Class Four
Demo Eight
  Sub Item Demo Eight
  Sub Item Demo Nine
  Sub Item Demo Ten
  Sub Item Demo Eleven

Я довольно новичок в этой области управления деревьями (так же как и в flex) и имею ограниченное понимание концепций, чтобы быть в состоянии это сделать.

Я подумываю либо изменить данные XML, которые я первоначально извлекаю, и, вероятно, вставить подпункты для каждого узла, хотя я не знаю, как этого добиться.

С другой стороны, чтобы дать некоторым из вас более подробную информацию, данные древовидной структуры фактически будут поступать из трех таблиц, где таблица 1 является базовой таблицей, а таблица 2 содержит дочерние элементы таблицы 1, а таблица 3 содержит дочерние элементы. данные из таблицы 3.

Буду искренне признателен за ваш вклад в это. Я вхожу в мир Flex, и это довольно удачный сценарий внедрения этой технологии в нашу организацию.

Спасибо и надеемся получить хороший совет о том, как этого добиться.

С уважением,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...