PDA

Просмотр полной версии : e4x result to treeView


BORO
11.09.2007, 11:57
Здравствуйте.

Есть вебметод,

<mx:operation name="getProjectsTree" result="getProjectsTreeHandler(event)" resultFormat="e4x">
</mx:operation>

есть обработчик

public function getProjectsTreeHandler(evt)
{
var xmlResult:XML = XML(evt.result);
tree.dataProvider = xmlResult;
tree.labelField = xmlResult.getProjectsTreeResult.Projects.ProjectItem.label;
}

Значение переменной xmlResult в дебаггере следующее:

<getProjectsTreeResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<getProjectsTreeResult>
<Projects>
<ProjectItem>
<label>
"111.11"
</label>
<object_id>
"777"
</object_id>
<class_id>
"555"
</class_id>
<descr/>
<obozn>
"111.11"
</obozn>
<ProjectItem>
<label>
"111.11.00"
</label>
<object_id>
"888"
</object_id>
<class_id>
"556"
</class_id>
<descr/>
<obozn>
"111.11.00"
</obozn>
</ProjectItem>
...........


Подскажите, пожалуйста, как отобразить значения label в компоненте treeView?

Небольшой баг в вопросе:
Под treeView я имел ввиду флексовый компонент Tree.
var xmlResult:XML = XML(evt.result) -> var xmlResult:XMLList = XMLList(evt.result)

__i
11.09.2007, 14:18
public function getProjectsTreeHandler(evt)
{
var xmlResult:XML = XML(evt.result);
tree.dataProvider = xmlResult;
tree.labelField = "label";
}
или используй labelFunction

BORO
11.09.2007, 15:06
Пробовал так тоже делать... Пустое дерево на выходе =(
Раньше делал все через resultFormat='object'. Затем obj -> xml и все работало.
Но в данном случае label может принимать значение вида "123.00". Чтобы не было автоматического преобразования "123.00" в "123", необходимо использовать другой resultFormat... Вот и разбираюсь) По идее здесь должно быть все проще, т.к. на выходе уже готовый xml... Я пока в тупике...