我想在我的应用程序中放置一个TreeGrid,以便对列进行排序。如果您参考此sample application,您会注意到,如果您
然后TreeGrid开始摆脱wack,重复的列开始出现,其他列开始消失。我想要的是让列只按最外面的节点排序。
我的一次尝试是在排序发生之前运行treeGrid.closeAllItems()。但是,这不起作用,因为在closeAllItems运行时调度Sort Column事件,因此列表混乱并且抛出listOutOfBounds异常。
有没有人对此有任何成功,或有任何想法?
答案 0 :(得分:0)
这是一段工作代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.collections.HierarchicalData;
]]>
</mx:Script>
<mx:XMLList id="dataProviderXMLList">
<node id="1" name="Companies" type="COMPANIES" desc="All Companies" statusIcon="statusIcon">
<node id="2" name="Adobe" type="COMPANY" desc="Adobe inc." statusIcon="statusIcon">
<node id="5" name="Adobe Consulting" type="COMPANY" desc="Adobe (formerly macromedia)" statusIcon="statusIcon" />
<node id="6" name="EDBU" type="COMPANY" desc="Database company" statusIcon="statusIcon" />
</node>
<node id="3" name="Macromedia" type="COMPANY" desc="Adobe (formerly macromedia)" statusIcon="statusIcon" />
<node id="4" name="Oracle" type="COMPANY" desc="Database company" statusIcon="statusIcon" />
</node>
</mx:XMLList>
<mx:AdvancedDataGrid width="100%" height="100%" sortExpertMode="true" id="adg1" designViewDataType="tree" dataProvider="{new HierarchicalData(dataProviderXMLList)}">
<mx:columns>
<mx:AdvancedDataGridColumn headerText="Companies" dataField="@name"/>
<mx:AdvancedDataGridColumn headerText="COMPANIES" dataField="@type"/>
<mx:AdvancedDataGridColumn headerText="All Companies" dataField="@desc"/>
</mx:columns>
</mx:AdvancedDataGrid>
</mx:Application>
这是使用AdvancedDataGrid,它完全正常。