デフォルトでは、AdvancedDataGrid には、dataProvider プロパティに渡されたデータに指定された順序でデータが表示されます。AdvancedDataGrid コントロールでは、コントロールにデータが表示された後で単一または複数列でのソートを実行することもできます。
AdvancedDataGrid コントロール全体でソートを無効にするには、AdvancedDataGrid.sortableColumns プロパティを false に設定します。個別の列でソートを無効にするには、AdvancedDataGridColumn.sortable プロパティを false に設定します。
複数列に対するソートは、sortExpertMode プロパティの設定に基づいて行われます。デフォルトでは、sortExpertMode プロパティは false に設定されています。この設定の場合、列のヘッダー領域をクリックすると、その列に基づいて AdvancedDataGrid の行がソートされます。次に、ヘッダーの複数列ソート領域をクリックすると、後からクリックした列に基づいてソートされます。最初の列でソートを実行した後に、Ctrl キーを使用してすべての列を選択できるようにするには、sortExpertMode プロパティを true に設定します。
次の図は、sortExpertMode プロパティを false に設定した 3 つの列を持つ AdvancedDataGrid コントロールの例です。
sortExpertMode を false に設定した列のソート
sortExpertMode を true に設定した列のソート
次のコード例では、sortExpertMode プロパティを true に設定した複数列のソートを実装しています。
<?xml version="1.0"?>
<!-- dpcontrols/adg/SimpleADG.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
private var dpADG:ArrayCollection = new ArrayCollection([
{Artist:'Pavement', Album:'Slanted and Enchanted', Price:11.99},
{Artist:'Pavement', Album:'Brighten the Corners', Price:11.99},
{Artist:'Saner', Album:'A Child Once', Price:11.99},
{Artist:'Saner', Album:'Helium Wings', Price:12.99},
{Artist:'The Doors', Album:'The Doors', Price:10.99},
{Artist:'The Doors', Album:'Morrison Hotel', Price:12.99},
{Artist:'Grateful Dead', Album:'American Beauty', Price:11.99},
{Artist:'Grateful Dead', Album:'In the Dark', Price:11.99},
{Artist:'Grateful Dead', Album:'Shakedown Street', Price:11.99},
{Artist:'The Doors', Album:'Strange Days', Price:12.99},
{Artist:'The Doors', Album:'The Best of the Doors', Price:10.99}
]);
]]>
</mx:Script>
<mx:AdvancedDataGrid
width="100%" height="100%"
sortExpertMode="true"
dataProvider="{dpADG}">
<mx:columns>
<mx:AdvancedDataGridColumn dataField="Artist" />
<mx:AdvancedDataGridColumn dataField="Album" />
<mx:AdvancedDataGridColumn dataField="Price" />
</mx:columns>
</mx:AdvancedDataGrid>
</mx:Application>
前の例で実行する SWF ファイルは以下のとおりです。
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート