我有一系列应该在我的树形控件中选择的项目。从下面的代码中可以看出,我将此数组绑定到树的selectedIndices属性。 selectedItems没有在树中正确选择(选择其他一些项目并且总是选择root).Flex似乎“忽略”我的项目(选择一些其他索引)。我错过了什么吗?
也许我会以错误的方式解决这个问题?
感谢您的帮助!
我的XMLList: -
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<fx:XMLList id="XMLList">
<node>
<node name="max">
<node name="Emanuele"
surname="Tatti" age="23" wage="1200"/>
<node name="Francesco"
surname="Rapana " age="22" wage="1000"/>
<node name="Constantin"
surname="Moldovanu" age="23" wage="1200"/>
<node name="Marco"
surname="Casario" age="29" wage="1500">
<node name="Marco"
surname="Casario" age="29" wage="1500">
<node name="Marco"
surname="Casario" age="29" wage="1500">
<node name="Marco"
surname="Casario" age="29" wage="1500">
</node>
</node>
</node>
</node>
</node>
</node>
</fx:XMLList>
</fx:Declarations>
我的动作脚本功能: -
public function select_tree():Void
{
tree.validateNow();
var allItems:Array = new Array();
for(var n:Int =2;n<7;n+2)
{
allItems[n]=n; // o/p- 2,4,6
}
tree.selectedIndices = allItems1; //2,4,6 items should select ,but 0,2,4,5 are selected why?
}
*****My MXML:-*****
<mx:Button id="btn" label="Find Unmatch Nodes" width="221" height="30" click="select_tree()"/>
<mx:Tree id="tree" right="10" top="54" bottom="10" width="49.5%" dataProvider="{XMLList}"
fontFamily="Verdana" fontSize="11" showScrollTips="true"
allowMultipleSelection="true"
alternatingItemColors="[#F5F5F5]"
labelField="@label" selectionColor="#ECF335" showRoot="false"/>
答案 0 :(得分:2)
通过将tree.selectedIndices设置为allItems1(而不是allItems),您的代码出错了。
tree.selectedIndices = allItems1;
为什么不创建一个Bindable Array,并将它设置为树的selectedIndices属性?
即
[Bindable]
public var selectedTreeValues:Array = new Array();
...
<mx:Tree id="tree" right="10" top="54" bottom="10" width="49.5%"
dataProvider="{XMLList}"
fontFamily="Verdana" fontSize="11" showScrollTips="true"
allowMultipleSelection="true"
alternatingItemColors="[#F5F5F5]"
labelField="@label" selectionColor="#ECF335" showRoot="false"
selectedIndices="selectedTreeValues"
/>
最后,追踪出来,而不是手动完成它? Flex的一个优点是能够利用Binding值。