Создание TreeGrid с сортируемыми столбцами - PullRequest
0 голосов
/ 21 августа 2009

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

  1. Открыть ветвь узла
  2. Сортировать по одному из столбцов
  3. Закрыть этот ветвь узла

затем TreeGrid начинает выходить из строя, появляются повторяющиеся столбцы и начинают исчезать другие столбцы. Я хотел бы, чтобы столбцы сортировались только по самым внешним узлам.

Одна из моих попыток состояла в том, чтобы запустить treeGrid.closeAllItems () до начала сортировки. Однако это не работает, потому что событие Sort Column отправляется во время работы closeAllItems, поэтому список запутывается, и генерируются исключения listOutOfBounds.

Кто-нибудь имел успех с этим, или есть какие-нибудь идеи?

1 Ответ

0 голосов
/ 21 августа 2009

Вот кусок рабочего кода

<?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, и он отлично работает.

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