spark.components.gridClassesGridColumn GridColumn クラスは、Spark DataGrid または Grid コントロールなどの Spark グリッドコントロールの列を定義します。The <s:GridColumn> tag inherits all of the tag attributes of its superclass and adds the following tag attributes:

  <s:GridColumn
    Properties
    dataField="null"
    dataTipField="null"
    dataTipFormatter="null"
    dataTipFunction="null"
    editable="true"
    formatter="null"
    headerRenderer="null"
    headerText="value of dataField"
    imeMode="null"
    itemEditor="null"
    itemRenderer="null"
    itemRendererFunction="null"
    labelFunction="null"
    maxWidth="NaN"
    minWidth="20"
    rendererIsEditable="false"
    resizeable="true"
    showDataTips="undefined"
    sortable="true"
    sortCompareFunction="null"
    sortDescending="false"
    visible="true"
    width="NaN"
  />
  
]]>
flash.events:EventDispatcher GridColumn クラスは、Spark DataGrid または Grid コントロールなどの Spark グリッドコントロールの列を定義します。コントロールの各データプロバイダーアイテムは、グリッドの 1 行に対応します。 GridColumn クラスは、列に値が表示されるデータプロバイダーアイテムのフィールドを指定します。 また、このクラスでは、その値を表示するために使用されるアイテムレンダラー、値を変更するために使用されるアイテムエディター、および列の他のプロパティも指定します。 spark.components.Gridspark.components.DataGridGridColumn コンストラクターです。columnNamenulldataField および headerText プロパティの初期値です。 コンストラクターです。 itemToDataTip 指定されたデータプロバイダーアイテムを列固有のデータヒントストリングに変換します。指定されたデータプロバイダーアイテムまたは ERROR_TEXT の列固有のストリングです。 itemgrid.dataProvider.getItemAt(rowIndex) の値です。 指定されたデータプロバイダーアイテムを列固有のデータヒントストリングに変換します。

このメソッドは、値 dataTipField および dataTipFunction を使用します。 これらのプロパティが null の場合は、関連付けられているグリッドコントロールの対応するプロパティを使用します。 グリッドコントロールの dataTipField プロパティも null の場合は、dataField プロパティを使用します。

dataTipFunctiondataTipFormatter が null の場合、このメソッドの値は item[dataTipField].toString() と同じになります。dataTipFormatter が指定されている場合、このメソッドの値は dataTipFormatter.format(item[dataTipField]) と同じになります。アイテムの dataField の解決でエラーがスローされた場合は、ERROR_TEXT が返されます。

item および dataTipFunction が null でない場合、このメソッドは dataTipFunction(item, this) を返します。ここで、2 つ目の引数はこの GridColumn です。

itemToLabel 指定されたデータプロバイダーアイテムを列固有のストリングに変換します。指定された dataProvider アイテムの列固有のストリングまたは ERROR_TEXT です。 itemgrid.dataProvider.getItemAt(rowIndex) の値。 指定されたデータプロバイダーアイテムを列固有のストリングに変換します。このメソッドは、アイテムレンダラーの label プロパティを初期化するために使用されます。

labelFunction が null であり、dataField が "." というフィールド名のセパレーター文字を含まないストリングであり、フォーマッターが null である場合、このメソッドは次に等しくなります。

item[dataField].toString()

フォーマッターが指定された場合、このメソッドの値は次のようになります。

formatter.format(item[dataField])

dataField が "." で区切られたパスである場合、このメソッドでは連続する各パスエレメントを検索します。 例えば、="foo.bar.baz" の場合、このメソッドは item.foo.bar.baz の値に基づくストリングを返します。アイテムの dataField の解決によってエラーがスローされた場合、ERROR_TEXT が返されます。

item および labelFunction が null でない場合、このメソッドは labelFunction(item, this) を返します。ここで、2 つ目の引数はこの GridColumn です。

itemToRenderer 指定されたデータプロバイダーアイテムを列固有のアイテムレンダラーファクトリに変換します。指定された dataProvider アイテムに対する列固有のアイテムレンダラーファクトリです。 itemgrid.dataProvider.getItemAt(rowIndex) の値です。 指定されたデータプロバイダーアイテムを列固有のアイテムレンダラーファクトリに変換します。デフォルトでは、このメソッドは null 以外の場合は itemRendererFunction を呼び出し、null の場合は列の itemRenderer プロパティの値を返します。 ERROR_TEXT 対応するプロパティ名(パス)の解決に失敗した場合の、itemToLabel() または itemToDataTip() メソッドの戻り値です。unknown 対応するプロパティ名(パス)の解決に失敗した場合の、itemToLabel() または itemToDataTip() メソッドの戻り値です。 この定数の値は単一の空白文字 " " です。 itemToLabelitemToDataTipcolumnIndex グリッドの列リストにおけるこの列の場所、またはこの列のグリッドが null である場合は -1 です。 グリッドの列リストにおけるこの列の場所、またはこの列のグリッドが null である場合は -1 です。 dataField 列に関連付けられているデータプロバイダーアイテム内のフィールドまたはプロパティの名前です。null 列に関連付けられているデータプロバイダーアイテム内のフィールドまたはプロパティの名前です。 各 GridColumn では、アイテムレンダラーで表示できるテキストを計算するために、このプロパティまたは labelFunction プロパティが設定されている必要があります。 dataField プロパティおよび labelFunction プロパティが設定されている場合、データは labelFunction を使用して表示され、dataField を使用してソートされます。

このプロパティのこの値は、必ずしも列ヘッダーに表示されるストリングであるとは限りません。 このプロパティは、データプロバイダーのデータにアクセスする目的でのみ使用します。 詳細については、headerText プロパティを参照してください。

列または列のグリッドで labelFunction が指定されている場合、dataField は使用されません。

itemToLabellabelFunction
dataTipField データヒントとして表示するデータプロバイダー内のフィールドの名前です。null データヒントとして表示するデータプロバイダー内のフィールドの名前です。 デフォルトでは、showDataTipstrue の場合、関連付けられているグリッドコントロールは、各データプロバイダーアイテムで label という名前のプロパティを検索して表示します。 ただし、データプロバイダーに label プロパティが存在しない場合は、dataTipField プロパティを設定して別のプロパティ名を指定できます。 例えば、データベースに含まれる一連の人物名がユーザーに表示される場合には、値を "FullName" に設定できます。

GridColumn.dataTipField はこのプロパティよりも優先されます。

この列または列のグリッドで dataTipFunction プロパティの値が指定されている場合、dataTipField プロパティは無視されます。

dataTipFunctionitemToDataTip
dataTipFormatter データプロバイダーアイテムをストリングに変換するために、列の itemToDataTip() メソッドで使用されるフォーマッターを指定します。null データプロバイダーアイテムをストリングに変換するために、列の itemToDataTip() メソッドで使用されるフォーマッターを指定します。

フォーマッターの styleParent が指定されなかった場合は列のグリッドに設定されて、グリッドの locale スタイルをフォーマッターが継承するようになります。

itemToDataTipformatter
dataTipFunction データヒントを決定するためにデータプロバイダーの各アイテムで実行するコールバック関数を指定します。null データヒントを決定するためにデータプロバイダーの各アイテムで実行するコールバック関数を指定します。 このプロパティは itemToDataTip メソッドで使用します。

デフォルトでは、showDataTipstrue の場合、各データプロバイダーアイテムで label という名前のプロパティが検索され、その値がデータヒントとして表示されます。ただし、データプロバイダーによっては、label プロパティが存在せず、また行にデータを表示するために使用できる別のプロパティも存在しない場合があります。

例えば、フルネームをデータヒントとして表示したい場合に、データプロバイダーに lastName フィールドと firstName フィールドが別々に存在しているケースが考えられます。このような場合は、両方のフィールドの値を単一のストリングとして返す関数を dataTipFunction プロパティに指定します。 また、フォーマットとローカライズを処理するために dataTipFunction プロパティを使用することもできます。

dataTipFunction 関数の署名は、次と一致する必要があります。

dataTipFunction(item:Object, column:GridColumn):String
item パラメーターは、行全体に対するデータプロバイダーアイテムです。 2 つ目のパラメーターはこの列オブジェクトです。

通常の関数は、アイテムの firstName および lastName プロパティを連結するか、Date 値のプロパティに対してカスタム書式を適用します。

itemToDataTipdataTipField
editable 列のアイテムが編集可能かどうかを示します。true 列のアイテムが編集可能かどうかを示します。このプロパティが true で、関連付けられているグリッドの editable プロパティも true であれば、列内のアイテムは編集可能です。選択したアイテムをクリックするか、アイテムに移動して F2 キーを押すことにより、アイテムを個別に編集できます。 formatter データプロバイダーアイテムをストリングに変換するために、列の itemToLabel() メソッドで使用されるフォーマッターを指定します。null データプロバイダーアイテムをストリングに変換するために、列の itemToLabel() メソッドで使用されるフォーマッターを指定します。

フォーマッターの styleParent が指定されなかった場合は列のグリッドに設定されて、グリッドの locale スタイルをフォーマッターが継承するようになります。

itemToLabeldataTipFormatter
grid この列に関連付けられている Grid オブジェクトです。spark.components:Grid この列に関連付けられている Grid オブジェクトです。 headerRenderer この列のヘッダーとして使用される IGridItemRenderer クラスのクラスファクトリです。null この列のヘッダーとして使用される IGridItemRenderer クラスのクラスファクトリです。指定しない場合、DataGrid コントロールの columnHeaderGroup スキンパーツはデフォルトのヘッダーレンダラーを定義します。 headerTextIGridItemRendererheaderText この列のヘッダーのテキストです。 この列のヘッダーのテキストです。 デフォルトでは、関連付けられているグリッドコントロールは dataField プロパティの値をヘッダーテキストとして使用します。 imeMode null flash.system.IMEConversionModeitemEditor この列の個々のグリッドセルを編集するために使用される IGridItemEditor クラスのクラスファクトリです。null この列の個々のグリッドセルを編集するために使用される IGridItemEditor クラスのクラスファクトリです。このプロパティが null であり、列のグリッドのオーナーが DataGrid コントロールの場合、DataGrid コントロールの itemEditor プロパティの値が使用されます。 DataGrid コントロールでアイテムエディターが指定されていない場合は、DefaultGridItemEditor クラスを使用します。

デフォルトのアイテムエディターは DefaultGridItemEditor クラスです。これは単純なテキストフィールドを編集可能にします。 GridItemEditor クラスのサブクラスを作成することによって、カスタムアイテムレンダラーを作成できます。 カスタムアイテムエディターでは、データをグリッドの行全体に書き込み、より複雑なエディターを定義できます。

spark.components.gridClasses.DefaultGridItemEditorspark.components.gridClasses.GridItemEditor
itemRendererFunction 指定する場合、このプロパティの値は、データプロバイダーアイテムおよび列パラメーターに基づいてアイテムレンダラーの IFactory を返す冪等関数にする必要があります。null 指定する場合、このプロパティの値は、データプロバイダーアイテムおよび列パラメーターに基づいてアイテムレンダラーの IFactory を返す冪等関数にする必要があります。itemRendererFunction プロパティに対する値を指定すると、この列で複数のアイテムレンダラーを使用できるようになります。

itemRendererFunction プロパティに対して指定する関数には次のシグネチャが必要です。

itemRendererFunction(item:Object, column:GridColumn):IFactory

item パラメーターは、行全体に対するデータプロバイダーアイテムです。 2 つ目のパラメーターはこの列オブジェクトです。

次に、アイテムレンダラー関数の例を示します。

      function myItemRendererFunction(item:Object, column:GridColumn):IFactory
      {
          return (item is Array) ? myArrayItemRenderer : myItemRenderer;
      }
      
itemRenderer 個々のグリッドセルをレンダリングするために使用される IGridItemRenderer クラスのクラスファクトリです。 個々のグリッドセルをレンダリングするために使用される IGridItemRenderer クラスのクラスファクトリです。指定しない場合、関連付けられているグリッドコントロールの itemRenderer プロパティの値を使用します。

デフォルトのアイテムレンダラーは DefaultGridItemRenderer クラスです。これはデータアイテムをテキストとして表示します。 GridItemRenderer クラスのサブクラスを作成することによって、カスタムアイテムレンダラーを作成できます。 カスタムアイテムレンダラーでは、グリッドの行全体のデータにアクセスして、セルについてより複雑な視覚的表現を定義できます。

デフォルト値は、関連付けられているグリッドコントロールの itemRenderer プロパティの値か、または null です。

dataFieldspark.skins.spark.DefaultGridItemRendererspark.components.gridClasses.GridItemRenderer
labelFunction データプロバイダーアイテムを、アイテムレンダラーの label プロパティの初期化に使用される列固有のストリングに変換する冪等関数です。null データプロバイダーアイテムを、アイテムレンダラーの label プロパティの初期化に使用される列固有のストリングに変換する冪等関数です。

ラベル関数を使用して、複数のデータプロバイダーアイテムの値を単一のストリングとして組み合わせることができます。 指定する場合、このプロパティは itemToLabel() メソッドで使用されます。このメソッドは、この列内の各アイテムレンダラーの label プロパティの値を計算します。

labelFunction プロパティに対して指定する関数には次のシグネチャが必要です。

labelFunction(item:Object, column:GridColumn):String

item パラメーターは、行全体に対するデータプロバイダーアイテムです。 2 つ目のパラメーターはこの列オブジェクトです。

一般的なラベル関数は、データプロバイダーアイテムの firstName および lastName プロパティを連結するか、Date 値のプロパティに対してカスタム書式を適用します。

itemToLabeldataField
maxWidth この列の最大幅(ピクセル単位)です。NaN この列の最大幅(ピクセル単位)です。指定する場合、グリッドのレイアウトにより、列のレイアウト幅が typicalItem および maxWidth のうちの小さい方の幅になります。 この列がサイズ変更可能な場合、このプロパティによって、ユーザーがこの列に指定できる幅の上限が設定されます。 このプロパティを設定しても、width および minWidth プロパティはいずれも変更されません。 minWidth この列の最小幅(ピクセル単位)です。20 この列の最小幅(ピクセル単位)です。指定する場合、グリッドのレイアウトにより、列のレイアウト幅が typicalItem および minWidth のうちの大きい方の幅になります。 この列がサイズ変更可能な場合、このプロパティによって、ユーザーがこの列に指定できる幅の下限が指定されます。 このプロパティを設定しても、width および maxWidth プロパティのいずれも変更されません。 rendererIsEditable アイテムレンダラーのコントロールのいずれかが編集可能かどうかを判別します。false アイテムレンダラーのコントロールのいずれかが編集可能かどうかを判別します。列が編集可能な場合、ユーザーがアイテムレンダラーの編集を開始すると、アイテムレンダラーのフォーカス可能コントロールにはキーボードフォーカスが設定されます。

このプロパティを true に設定すれば、ユーザーがセルの中をクリックするとセルが編集可能になります。 セルが編集可能なため、DataGrid は editorIndicator スキンパーツを表示します。このスキンパーツは selectionIndicator スキンパーツの上に表示されます。 そのため、編集セッションが完了するまで、セルの選択範囲のインジケーターがユーザーから見えなくなります。editorIndicator スキンパーツを削除または変更するカスタムスキンを作成すれば、selectionIndicator スキンパーツを表示できます。 例えば、editorIndicatoralpha プロパティを設定して selectionIndicator が透けて見えるようにしたり、セルより小さくなるように editorIndicator のサイズを変更したりできます。

このプロパティを true に設定すると、アイテムレンダラーによって収集される入力の検証および保存はユーザーが行うこととなります。 アイテムレンダラーに IGridItemRenderer.prepare() メソッドのオーバーライドが含まれている場合、未保存の入力フィールドの変更が上書きされないようにする必要があります。 例えば、rendererIsEditabletrue であり、レンダラーには data.myDataField の値を表示する単一の TextInput エレメントが含まれます。 レンダラーの prepare() メソッドが TextInput コントロールの text プロパティを設定する場合、保留中の変更が存在しているとき、prepare() メソッドが text プロパティを設定しないようにする必要があります。

resizable 列の幅をユーザーが変更できるかどうかを示します。true 列の幅をユーザーが変更できるかどうかを示します。このプロパティが true であり、関連付けられているグリッドの resizableColumns プロパティも true である場合、ユーザーは列ヘッダー間のグリッド線をドラッグして列のサイズを変更できます。 showDataTips 列にデータヒントが表示されるかどうかを示します。undefined 列にデータヒントが表示されるかどうかを示します。true の場合、行のテキストに対してデータヒントが表示されます。 データヒントは、長すぎて行に収まらないテキストを表示するためのツールヒントです。

このプロパティの値が undefined(デフォルト)の場合、関連付けられているグリッドの showDataTips プロパティによってデータヒントが表示されるかどうかが決まります。 このプロパティが設定されている場合、グリッドの showDataTips プロパティは無視されます。

getShowDataTips
sortCompareFunction この列のデータエレメントに関してソートを実行するときに 2 つのエレメントを比較する関数です。null この列のデータエレメントに関してソートを実行するときに 2 つのエレメントを比較する関数です。labelFunction プロパティの値を指定する場合、通常、sortCompareFunction も指定します。

sortCompareFunction のシグネチャは次と一致する必要があります。

sortCompareFunction(obj1:Object, obj2:Object, column:GridColumn):int

この関数はオブジェクトの比較に基づいて次のような値を返す必要があります。

  • 昇順で obj1 が obj2 よりも先に出現する場合は -1。
  • obj1 と obj2 が同じ場合は 0。
  • 昇順で obj1 が obj2 よりも後で出現する場合は 1。

関数は、列パラメーターを使用して、一般的な比較関数を記述できます。

メモ:obj1 パラメーターと obj2 パラメーターはデータプロバイダーエレメント全体です。特定のアイテムのデータではありません。

dataProvider が ICollectionView でない場合、このプロパティは無視されます。

sortDescending true の場合、この列は降順でソートされます。false true の場合、この列は降順でソートされます。 例えば、列の dataField に数値が含まれている場合、この列の最大値を持つ列が最初の行となります。

このプロパティを設定してもソートは実行されません。ソート方向のみが設定されます。 dataProvider.refresh() メソッドが呼び出されると、ソートが実行されます。

データプロバイダーが ICollectionView でない場合、このプロパティは無視されます。

sortField この列の dataField を基準にしてコレクションをソートするために使用できる SortField を返します。spark.collections:SortField この列の dataField を基準にしてコレクションをソートするために使用できる SortField を返します。

sortCompareFunction プロパティが定義されている場合は、SortField の compareFunction が自動的に設定されます。

sortCompareFunction プロパティが定義されておらず、dataField が複雑な場合、SortField の比較関数は、複雑な dataField を処理するデフォルトの比較関数を囲む閉包に割り当てられます。

sortCompareFunction および dataField プロパティが定義されておらず、labelFunction プロパティが定義されている場合、compareFunction は、データオブジェクトに適用される labelFunction に対して基本的なストリング比較を実行する閉包に割り当てられます。

spark.collections.SortField
sortable このプロパティが true の場合、グリッドのデータプロバイダーが ICollectionView の場合、および関連付けられているグリッドの sortableColumns プロパティが true の場合、この列ではインタラクティブソートがサポートされます。true このプロパティが true の場合、グリッドのデータプロバイダーが ICollectionView の場合、および関連付けられているグリッドの sortableColumns プロパティが true の場合、この列ではインタラクティブソートがサポートされます。 通常、列のヘッダーでは、データプロバイダーの sort プロパティを Sort オブジェクト(SortField がこの列の dataField であるもの)に設定することによって、マウスクリックを処理します。

データプロバイダーが ICollectionView でない場合、このプロパティは無視されます。

visible true の場合、この列を表示します。true true の場合、この列を表示します。 false の場合、この列には領域が割り当てられず、レイアウトに含められません。 width この列の幅(ピクセル単位)です。NaN この列の幅(ピクセル単位)です。指定する場合、グリッドのレイアウトではその typicalItem プロパティとこの列の minWidth および maxWidth プロパティが無視されます。
IGridVisualElement このインターフェイスは、動的に作成されたビジュアルエレメントが、自分が表示される前に自分を設定するために使用できるメソッドを提供します。 このインターフェイスは、動的に作成されたビジュアルエレメントが、自分が表示される前に自分を設定するために使用できるメソッドを提供します。このメソッドは、ファクトリによって生成されたビジュアルエレメントが作成または再使用されるときに必要に応じて呼び出されます。 このメソッドは直接呼び出さないでください。

これは、ファクトリによって生成されたすべてのビジュアルエレメント用のオプションインターフェイスです。ただし、次の itemRenderer は例外です。caretIndicatorhoverIndicatoreditorIndicatorselectionIndicatorcolumnSeparatorrowSeparatoralternatingRowColorsBackground(DataGrid を参照)、sortIndicator(GridColumnHeaderGroup を参照)。 通常、このインターフェイスは、生成されたビジュアルエレメントを DataGrid のスタイル値で設定するために使用されます。例えば、DataGrid の「symbolColor」スタイルの値をキャレットの塗りの色に使用するには、次のような prepareGridVisualElement() メソッドを定義します。

  public function prepareGridVisualElement(grid:Grid, rowIndex:int, columnIndex:int):void
  {
      caretStroke.color = grid.dataGrid.getStyle("caretColor");
  }
  

rowIndex パラメーターおよび columnIndex パラメーターでは、ビジュアルエレメントが占有するセルを指定します。 columnIndex = -1 の場合は、ビジュアルエレメントが Grid 行に表示されます。rowIndex = -1 の場合は、ビジュアルエレメントが Grid 列に表示されます。

DataGridSkin.mxml には、このような例が他にもたくさんあります。カスタム DataGrid スキンのビジュアルエレメントでは、追加の柔軟性が不要な場合、このインターフェイスを実装しないように選択できます。

prepareGridVisualElement このメソッドは、Grid のビジュアルエレメントがレンダリングされる前に呼び出されて、エレメントに自分を設定する機会を与えます。gridspark.components:Gridこのビジュアルエレメントに関連付けられている Grid です。 rowIndexビジュアルエレメントが占有するセルの行座標または -1 です。 columnIndexビジュアルエレメントが占有するセルの列座標または -1 です。 このメソッドは、Grid のビジュアルエレメントがレンダリングされる前に呼び出されて、エレメントに自分を設定する機会を与えます。どのセル、行(columnIndex = -1 の場合)または列(rowIndex = -1 の場合)をビジュアルエレメントが占有するかを指定するメソッドのパラメーターです。

ビジュアルエレメントが selectionIndicator や hoverIndicator などの DataGrid スキンパーツの値が設定されたファクトリによって生成される場合、grid.dataGrid は、グリッドがスキンパーツである DataGrid です。

CellPosition CellPosition クラスは、コントロールで選択されたセルを表すために Spark データグリッドクラスで使用されるデータ構造を定義します。Object CellPosition クラスは、コントロールで選択されたセルを表すために Spark データグリッドクラスで使用されるデータ構造を定義します。選択されたセルは、それぞれこのクラスの 1 つのインスタンスで表されます。 spark.components.DataGrid.selectedCellspark.components.DataGrid.selectedCellsspark.components.Grid.selectedCellspark.components.Grid.selectedCellsCellPosition コンストラクターです。rowIndex-1セルの 0 で始まる行インデックスです。 -1 という値は、値が設定されていないことを示します。 columnIndex-1セルの 0 で始まる列インデックスです。 -1 という値は、値が設定されていないことを示します。 コンストラクターです。 columnIndex セルの 0 で始まる列インデックスです。-1 セルの 0 で始まる列インデックスです。 -1 という値は、値が設定されていないことを示します。 rowIndex セルの 0 で始まる行インデックスです。-1 セルの 0 で始まる行インデックスです。 -1 という値は、値が設定されていないことを示します。 IDataGridElement グリッドのレイアウトおよびスクロール位置との同期を保つ必要がある Spark DataGrid コントロールのビジュアルエレメントには、このインターフェイスを実装する必要があります。mx.core:IVisualElementmx.managers:ILayoutManagerClientmx.core:IInvalidating グリッドのレイアウトおよびスクロール位置との同期を保つ必要がある Spark DataGrid コントロールのビジュアルエレメントには、このインターフェイスを実装する必要があります。DataGrid コントロールの grid スキンパーツが追加されると、このスキンパーツによって IDataGridElement.dataGrid プロパティが設定されます。 IDataGridElements オブジェクトは、スクロール位置の変更に対するイベントリスナーを追加することによって応答できます。 DataGrid コントロールが変更され、その行または列のレイアウトに影響が発生した場合は、すべての IDataGridElements オブジェクトが無効になります。 dataGrid このエレメントに関連付けられた DataGrid コントロールです。spark.components:DataGrid このエレメントに関連付けられた DataGrid コントロールです。 DefaultGridItemEditorDefaultGridItemEditor クラスは、DataGrid や Grid などの Spark グリッドコントロールで使用されるデフォルトのアイテムレンダラーを定義します。spark.components.gridClasses:GridItemEditorDefaultGridItemEditor クラスは、DataGrid や Grid などの Spark グリッドコントロールで使用されるデフォルトのアイテムレンダラーを定義します。DefaultGridItemEditor は、テキスト領域コントロールを表示します。 テキストエディターでセルの新しい値を入力します。

DefaultGridItemEditor を使用する代わりに、カスタムアイテムエディターを作成できます。 アイテムエディターには、spark.components.gridClasses.IGridItemEditor インターフェイスを実装する必要があります。 通常、spark.components.gridClasses.GridItemEditor クラスのサブクラスとしてアイテムエディターを作成します。

spark.components.DataGridspark.components.Gridspark.components.gridClasses.IGridItemEditorspark.components.gridClasses.GridItemEditorspark.components.gridClasses.GridColumnDefaultGridItemEditorコンストラクターです。コンストラクターです。textAreaエディターの TextArea コンポーネントです。spark.components:TextAreaエディターの TextArea コンポーネントです。
GridSelectionMode GridSelectionMode クラスは、Spark DataGrid および Grid コントロールの selectionMode プロパティに対して有効な定数値を定義します。Object GridSelectionMode クラスは、Spark DataGrid および Grid コントロールの selectionMode プロパティに対して有効な定数値を定義します。

次の例に示すように、ActionsScript で定数を使用します。

    myDG.selectionMode = GridSelectionMode.MULTIPLE_CELLS;
  

MXML では、次の例に示すように、定数の String 値を使用します。

    <s:DataGrid id="myGrid" width="350" height="150"
        selectionMode="multipleCells"> 
        ...
    </s:DataGrid> 
  
spark.components.DataGrid.selectionModespark.components.Grid.selectionModeGridSelectionMode コンストラクターです。 コンストラクターです。 MULTIPLE_CELLS 1 つ以上のセルを選択できることを示します。multipleCells 1 つ以上のセルを選択できることを示します。 MULTIPLE_ROWS 1 つ以上の行を選択できることを示します。multipleRows 1 つ以上の行を選択できることを示します。 NONE 選択できないことを示します。none 選択できないことを示します。 SINGLE_CELL 1 つのセルを選択できることを示します。singleCell 1 つのセルを選択できることを示します。 SINGLE_ROW 1 つの行を選択できることを示します。singleRow 1 つの行を選択できることを示します。
CellRegion CellRegion クラスは、コントロールでセルの矩形領域を表すために Spark データグリッドクラスで使用されるデータ構造を定義します。Object CellRegion クラスは、コントロールでセルの矩形領域を表すために Spark データグリッドクラスで使用されるデータ構造を定義します。領域の原点は、rowIndex および columnIndex プロパティで指定します。 領域の範囲は、rowCount および columnCount プロパティで指定します。 spark.components.DataGridspark.components.GridCellRegion コンストラクターです。rowIndex-1原点セルの 0 で始まる行インデックスです。-1 という値は、値が設定されていないことを示します。 columnIndex-1原点セルの 0 で始まる列インデックスです。 -1 という値は、値が設定されていないことを示します。 rowCount0セル領域内の行数です。 columnCount0セル領域内の列数です。 コンストラクターです。 columnCount セル領域内の列数です。0 セル領域内の列数です。 columnIndex セル領域の原点の 0 で始まる列インデックスです。-1 セル領域の原点の 0 で始まる列インデックスです。-1 という値は、値が設定されていないことを示します。 rowCount セル領域内の行数です。0 セル領域内の行数です。 rowIndex セル領域の原点の 0 で始まる行インデックスです。-1 セル領域の原点の 0 で始まる行インデックスです。-1 という値は、値が設定されていないことを示します。 GridLayer GridLayer クラスは、Grid コントロールのビジュアルエレメントのレイヤーに使用されるコンテナを定義します。spark.components:Group GridLayer クラスは、Grid コントロールのビジュアルエレメントのレイヤーに使用されるコンテナを定義します。Grid コントロールは、必要に応じてビジュアルエレメントを作成し、そのレイヤーに追加します。このコントロールはそれらのレイアウトに関与します。 spark.components.GridGridLayer コンストラクターです。 コンストラクターです。 GridItemRenderer GridItemRenderer クラスは、DataGrid や Grid などの Spark グリッドコントロール用のカスタムアイテムレンダラーの基本クラスを定義します。spark.components.gridClasses:IGridItemRendererspark.components:Group GridItemRenderer クラスは、DataGrid や Grid などの Spark グリッドコントロール用のカスタムアイテムレンダラーの基本クラスを定義します。アイテムレンダラーは、列固有のデータ側面を表示するためにのみ必要です。 これらは、選択インジケーターまたはホバーインジケーター、交互に使用される背景色(ある場合)または行 / 列セパレーターは表示しません。

アイテムレンダラーはグリッドの各列に関連付けられます。 列のアイテムレンダラーは、GridColumn.itemRenderer プロパティを使用して設定します。

デフォルトでは、アイテムレンダラーはセルの境界に合わせてクリップしません。レンダラーがセルの境界を超えてしまう場合は、clipAndEnableScrollingtrue に設定すれば、セルの境界に合わせてレンダラーをクリッピングできます。

DataGrid アイテムレンダラーのトランジションがサポートされていません。 GridItemRenderer クラスの transitions プロパティが無効化されているので、設定しても無視されます。

効率に関する考慮事項

DataGrid のスクロールと起動のパフォーマンスは、アイテムレンダラーの複雑さと DataGrid のスクローラー内に表示されるアイテムレンダラーの数と直接関係があります。カスタム GridItemRenderer のインスタンスは繰り返し再使用されるため、これらのインスタンスをできるだけ単純かつ効率的に定義することが重要です。

アイテムレンダラーの役割が 1 行以上のテキストの表示に限定されている場合、開発者はその処理を非常に経済的に実行できる DefaultItemRenderer クラスの使用を真剣に検討する必要があります(Windows のみにデプロイされるアプリケーションの場合は、UITextFieldGridItemRenderer クラスを代わりに使用すると、さらにパフォーマンスが向上します)。GridItemRenderer を使用して GridColumn の dataField をテキストとして表示する最も効率的な方法は、id="labelDisplay" の GridItemRenderer のテキスト表示エレメントを識別する方法です。labelDisplay コンポーネントは LabelRichText のような TextBase サブクラスである必要があります。境界線や他のグラフィックエレメントのようにアイテムレンダラーのデータに依存しない追加のエレメントがアイテムレンダラーに含まれている場合は、単に DefaultGridItemRenderer を使用する代わりに、この方法を使用できます。

プロパティがアイテムレンダラーのデータに依存するビジュアルエレメントが複数含まれているアイテムレンダラーでは、データバインディングを使用してプロパティの値を定義できます。この方法では、読みやすく保守しやすい MXML コードが生成され、表示されるアイテムレンダラーの数が限られている場合は、十分なパフォーマンスが得られます(DataGrid の requestedRowCount および requestedColumnCount プロパティを参照してください)。この種のアイテムレンダラーを設定する最も効率的な方法は、その prepare() メソッドをオーバーライドして、そこで処理する方法です。レンダラーの prepare() メソッドは、レンダラーが再表示されるたびに呼び出されるため、効率的なコードを書くことが重要です。例えば、内部値をキャッシュする場合のように、アイテムレンダラーがステートフルの場合は、discard() メソッドでステートをクリアできます。discard() メソッドは、レンダラーが DataGrid の内部フリーリストに移動し、再使用可能になるたびに呼び出されます。

GridItemRenderer はできるだけ簡単にする必要があります。最高のパフォーマンスを得るために、コンポーネントの数と階層の深さはできるだけ少なくします。実際的であれば、制約ではなく明示的な位置とサイズを使用してレイアウトを定義します。variableRowHeight="false"(デフォルト)が指定された DataGrid のほうがパフォーマンスがよい傾向があります。showDataTips="false"(デフォルト)および clipAndEnableScrolling="false"(デフォルト)の場合も同様にパフォーマンスがよくなります。

ここで説明する GridItemRenderer の様々な設定は、例の節に示されています。

spark.components.DataGridspark.components.Gridspark.components.gridClasses.GridColumnspark.components.gridClasses.GridColumn.itemRendererspark.skins.spark.DefaultGridItemRendererdataChange data プロパティが変更されたときに送出されます。mx.events.FlexEvent.DATA_CHANGEmx.events.FlexEvent data プロパティが変更されたときに送出されます。 GridItemRenderer コンストラクターです。 コンストラクターです。 discard アイテムレンダラーが表示されなくなると判断された場合に、アイテムレンダラーの親の updateDisplayList() メソッドから呼び出されます。willBeRecycledこのレンダラーがオーナーの内部フリーリストに追加されて再利用される場合は true です。 アイテムレンダラーが表示されなくなると判断された場合に、アイテムレンダラーの親の updateDisplayList() メソッドから呼び出されます。willBeRecycled パラメーターが true の場合、オーナーはこのレンダラーを内部フリーリストに追加して再利用します。 実装では、このメソッドを使用して不要となったレンダラープロパティを消去できます。

このメソッドが直接呼び出されることは意図されていません。 このメソッドは、DataGrid の実装によって呼び出されます。

getCurrentRendererState レンダラーに適用する状態の名前を返します。レンダラーに適用する状態の名前を指定するストリングです。 レンダラーに適用する状態の名前を返します。例えば、基本的なアイテムレンダラーは、レンダラーの状態を指定するストリング "normal"、"hovered"、または "selected" を返します。 タッチ操作(または選択範囲が無視されるマウス操作)を処理する場合、"down" および "downAndSelected" も返されることがあります。

必要な動作がデフォルトの動作と異なる場合は、GridItemRenderer のサブクラスで値を返すようにこのメソッドをオーバーライドする必要があります。

Flex 4.0 では、主な 3 つの状態は、"normal"、"hovered"、および "selected" でした。 Flex 4.5 では、"down" および "downAndSelected" が追加されました。

サポートされている全状態(優先順)を次に示します。

  • dragging
  • downAndSelected
  • selectedAndShowsCaret
  • hoveredAndShowsCaret
  • normalAndShowsCaret
  • down
  • selected
  • hovered
  • normal

prepare レンダラーのすべてのプロパティが設定された後、アイテムレンダラーの親の updateDisplayList() メソッドから呼び出されます。hasBeenRecycled このレンダラーが再利用中である場合は true です。 レンダラーのすべてのプロパティが設定された後、アイテムレンダラーの親の updateDisplayList() メソッドから呼び出されます。このレンダラーが今まで使用されたことがない場合、つまりリサイクルされなかった場合、hasBeenRecycled パラメーターは false です。 このメソッドは、レンダラーが表示されようとしているときに呼び出されます。また、レンダラープロパティの変更または再表示の明示的要求によってレンダラーが再表示されるたびに呼び出されます。

このメソッドを使用して、レンダラーのすべてのビジュアルエレメントとプロパティを設定できます。このメソッドを使用すると、data プロパティをビジュアルエレメントのプロパティにバインドするよりも効率的な場合があります。注意:prepare() メソッドは頻繁に呼び出されるため、効率的なコードを書いてください。

prepare() メソッドは、discard() メソッドの呼び出し前に何度も呼び出されることがあります。

このメソッドが直接呼び出されることは意図されていません。 このメソッドは、DataGrid の実装によって呼び出されます。

columnIndex このアイテムレンダラーのセルの列インデックスです。 このアイテムレンダラーのセルの列インデックスです。これは column.columnIndex と同じ値です。 column このアイテムレンダラーに関連付けられている列を表す GridColumn オブジェクトです。spark.components.gridClasses:GridColumnnull このアイテムレンダラーに関連付けられている列を表す GridColumn オブジェクトです。 data アイテムレンダラーに対応するグリッド行のデータプロバイダーアイテムの値です。null アイテムレンダラーに対応するグリッド行のデータプロバイダーアイテムの値です。この値は、dataProvider.getItemAt(rowIndex) メソッドの呼び出しによって返されるオブジェクトに対応します。

アイテムレンダラーは、このプロパティ定義をオーバーライドして、グリッドの行全体のデータにアクセスできます。

down グリッドセル内で、2 つの入力ジェスチャのうちの 1 つが行われると、つまりマウスボタンまたはタッチスクリーンのどちらかが押されると、このプロパティが true に設定されます。false グリッドセル内で、2 つの入力ジェスチャのうちの 1 つが行われると、つまりマウスボタンまたはタッチスクリーンのどちらかが押されると、このプロパティが true に設定されます。マウスボタンが放されるか、ユーザーがタッチ画面に触れなくなるか、またはマウスやタッチがグリッドセルの外にドラッグされると、down プロパティは false にリセットされます。

List アイテムレンダラーとは異なり、Grid アイテムレンダラーには、ダウンインジケーターを表示する排他的な役割はありません。Grid 自体は、選択された行またはセルのダウンインジケーターをレンダリングします。アイテムレンダラーは、そのビジュアルプロパティを変更して、押下されていることを強調することもできます。

dragging ドラッグ&ドロップ操作中の場合のようにアイテムレンダラーがドラッグされている場合は true が含まれます。 ドラッグ&ドロップ操作中の場合のようにアイテムレンダラーがドラッグされている場合は true が含まれます。 現在、ドラッグ&ドロップ操作は、Spark DataGrid コントロールではサポートされていません。 grid このアイテムレンダラーに関連付けられている Grid を返します。spark.components:Grid このアイテムレンダラーに関連付けられている Grid を返します。これは column.grid と同じ値です。 hovered アイテムレンダラーがマウスの下にあり、Grid の selectionMode が GridSelectionMode.SINGLE_CELL または GridSelectionMode.MULTIPLE_CELLS の場合、またはアイテムレンダラーが属する行内にマウスがあり、Grid の selectionMode が GridSelectionMode.SINGLE_ROW または GridSelectionMode.MULTIPLE_ROWS の場合は true になります。false アイテムレンダラーがマウスの下にあり、Grid の selectionMode が GridSelectionMode.SINGLE_CELL または GridSelectionMode.MULTIPLE_CELLS の場合、またはアイテムレンダラーが属する行内にマウスがあり、Grid の selectionMode が GridSelectionMode.SINGLE_ROW または GridSelectionMode.MULTIPLE_ROWS の場合は true になります。

List アイテムレンダラーとは異なり、Grid アイテムレンダラーには、レンダラーまたはその行がマウスの下にあることを表示する排他的な役割はありません。Grid 自体は、マウスポインターが置かれた行またはセルに対して、hoverIndicator スキンパーツを自動的に表示します。Grid アイテムレンダラーは、そのプロパティを変更して、マウスポインターが置かれていることを強調することもできます。

labelDisplay label プロパティを表示するためのアイテムレンダラー内のオプションのビジュアルコンポーネントです。spark.components.supportClasses:TextBasenull label プロパティを表示するためのアイテムレンダラー内のオプションのビジュアルコンポーネントです。 このプロパティを使用してビジュアルコンポーネントを指定すると、コンポーネントの text プロパティとアイテムレンダラーの label プロパティの同期が保たれます。 label "" rowIndex レンダリングされているセルの行の 0 で始まるインデックスです。-1 レンダリングされているセルの行の 0 で始まるインデックスです。 selected アイテムレンダラーのセルが現在の選択範囲に含まれている場合は true が含まれます。false アイテムレンダラーのセルが現在の選択範囲に含まれている場合は true が含まれます。

List アイテムレンダラーとは異なり、Grid アイテムレンダラーには、自分が選択範囲の一部であることを表示する排他的な役割はありません。Grid 自体は、選択された行またはセルに対して、selectionIndicator スキンパーツを自動的に表示します。また、アイテムレンダラーは、選択範囲の一部であることを強調するためにビジュアルプロパティを変更できます。

showsCaret アイテムレンダラーのセルがキャレットで示される場合は true が含まれます。false アイテムレンダラーのセルがキャレットで示される場合は true が含まれます。

List アイテムレンダラーとは異なり、Grid アイテムレンダラーには、自分のセルまたは行にキャレットがあることを表示する排他的な役割はありません。Grid 自体は、キャレット行またはキャレットセルに対して、caretIndicator スキンパーツを自動的に表示します。また、アイテムレンダラーは、キャレットがあることを強調するためにビジュアルプロパティを変更できます。

IGridItemEditor IGridItemEditor インターフェイスは、Spark DataGrid および Spark Grid コントロールのアイテムエディターに実装する必要があるインターフェイスを定義します。mx.core:IDataRenderermx.core:IVisualElementmx.managers:IFocusManagerComponentmx.core:IIMESupport IGridItemEditor インターフェイスは、Spark DataGrid および Spark Grid コントロールのアイテムエディターに実装する必要があるインターフェイスを定義します。DataGrid および Grid コントロールは、アイテムレンダラーのオーナー、またはアイテムエディターのホストコンポーネントと呼ばれます。

アイテムエディターのプロパティはすべて、エディターセッションの開始時にオーナーによって設定されます。 data プロパティは、最後に設定されるプロパティです。 data プロパティが設定されると、アイテムエディターはエディターのコントロールの値を設定する必要があります。 次に、エディターの prepare() メソッドが呼び出されます。 IGridItemEditor の実装で、prepare() メソッドをオーバーライドして、プロパティやビジュアルエレメントの縦横比を最終調整する必要があります。 エディターを閉じているとき、discard() メソッドが呼び出されます。

エディターが閉じられたら、入力値を保存またはキャンセルできます。 保存する場合、エディターによって save() 関数が呼び出され、編集されたセルの行に対応するデータプロバイダーエレメントに新しい値が書き込まれます。

spark.components.DataGridspark.components.Griddiscard エディターが閉じられる直前に呼び出されます。 エディターが閉じられる直前に呼び出されます。このメソッドを使用して、最終的なクリーンアップ(prepare() メソッドで設定されたすべての値のクリーンアップなど)を行います。

このメソッドは直接呼び出さないでください。 アイテムエディターをホストするコントロールによってのみ呼び出される必要があります。

prepare エディターが作成されてサイズが設定された後、エディターが表示される前に呼び出されます。 エディターが作成されてサイズが設定された後、エディターが表示される前に呼び出されます。このメソッドを使用して、エディターが表示される前に、エディターの外観を調整したり、イベントリスナーを追加したり、他のすべての初期化処理を行ったりします。

このメソッドは直接呼び出さないでください。 アイテムエディターをホストするコントロールによってのみ呼び出される必要があります。

save エディターの値をアイテムレンダラーのオーナーのデータプロバイダーに保存します。保存操作が正常に完了した場合は true、それ以外の場合は false です。 エディターの値をアイテムレンダラーのオーナーのデータプロバイダーに保存します。このメソッドは、編集されたセルの行に対応するデータプロバイダーエレメントを更新します。この関数は、GridItemEditor.validate() を呼び出して、データを保存できるかどうかを確認します。 データが有効でない場合、データは保存されず、エディターは閉じられません。

このメソッドは直接呼び出さないでください。 アイテムエディターをホストするコントロールによってのみ呼び出される必要があります。エディターを保存して閉じるには、アイテムレンダラーのオーナーの endItemEditorSession() メソッドを呼び出します。

spark.components.DataGrid
columnIndex 編集されている列の 0 で始まるインデックスです。 編集されている列の 0 で始まるインデックスです。 column 編集されているセルの列です。spark.components.gridClasses:GridColumn 編集されているセルの列です。 dataGrid このアイテムエディターを所有するコントロールです。spark.components:DataGrid このアイテムエディターを所有するコントロールです。 rowIndex 編集されているセルの行の 0 で始まるインデックスです。 編集されているセルの行の 0 で始まるインデックスです。
GridItemEditor GridItemEditor クラスは、DataGrid や Grid などの Spark グリッドコントロール用のカスタムアイテムエディターの基本クラスを定義します。The <s:GridItemEditor> tag inherits all of the tag attributes of its superclass and adds the following tag attributes:

  <s:GridItemEditor
    Properties
    column="null"
    data="null"
    imeMode="null"
    itemRenderer="null"
    rowIndex="0"
    value="null"
  />
  
]]>
spark.components.gridClasses:IGridItemEditorspark.components:Group GridItemEditor クラスは、DataGrid や Grid などの Spark グリッドコントロール用のカスタムアイテムエディターの基本クラスを定義します。アイテムエディターでは、グリッドのセルの値を編集してから、その値をコントロールのデータプロバイダーに保存し直すことができます。

アイテムエディターはグリッドの各列に関連付けられています。 GridColumn.itemEditor プロパティを使用して、列のアイテムエディターを設定します。

spark.components.DataGridspark.components.Gridspark.components.gridClasses.GridColumnspark.components.gridClasses.GridColumn.itemEditorGridItemEditor コンストラクターです。 コンストラクターです。 discard エディターが閉じられる直前に呼び出されます。 エディターが閉じられる直前に呼び出されます。このメソッドを使用して、最終的なクリーンアップ(prepare() メソッドで設定されたすべての値のクリーンアップなど)を行います。

このメソッドは直接呼び出さないでください。 アイテムエディターをホストするコントロールによってのみ呼び出される必要があります。

prepare エディターが作成されてサイズが設定された後、エディターが表示される前に呼び出されます。 エディターが作成されてサイズが設定された後、エディターが表示される前に呼び出されます。このメソッドを使用して、エディターが表示される前に、エディターの外観を調整したり、イベントリスナーを追加したり、他のすべての初期化処理を行ったりします。

このメソッドは直接呼び出さないでください。 アイテムエディターをホストするコントロールによってのみ呼び出される必要があります。

save エディターの値をアイテムレンダラーのオーナーのデータプロバイダーに保存します。保存操作が正常に完了した場合は true、それ以外の場合は false です。 エディターの値をアイテムレンダラーのオーナーのデータプロバイダーに保存します。このメソッドは、編集されたセルの行に対応するデータプロバイダーエレメントを更新します。この関数は、GridItemEditor.validate() を呼び出して、データを保存できるかどうかを確認します。 データが有効でない場合、データは保存されず、エディターは閉じられません。

このメソッドは直接呼び出さないでください。 アイテムエディターをホストするコントロールによってのみ呼び出される必要があります。エディターを保存して閉じるには、アイテムレンダラーのオーナーの endItemEditorSession() メソッドを呼び出します。

validate エディターの値が有効であり、保存できるかどうかをテストします。エディターの値が有効である場合は true です。 それ以外の場合は false を返します。 エディターの値が有効であり、保存できるかどうかをテストします。 columnIndex 編集されている列の 0 で始まるインデックスです。 編集されている列の 0 で始まるインデックスです。 column 編集されているセルの列です。spark.components.gridClasses:GridColumnnull 編集されているセルの列です。 dataGrid このアイテムエディターを所有するコントロールです。spark.components:DataGrid このアイテムエディターを所有するコントロールです。 data null enableIME コンポーネントがフォーカスを得たときに、IME を有効にするかどうかを指定するフラグです。true コンポーネントがフォーカスを得たときに、IME を有効にするかどうかを指定するフラグです。 imeMode IME(Input Method Editor)のモードを指定します。null IME(Input Method Editor)のモードを指定します。 IME を使用することによって、ユーザーは中国語、日本語、および韓国語のテキストを入力できます。Flex では、コントロールにフォーカスが置かれたときに、IME を指定されたモードに設定し、コントロールからフォーカスが離れたときに、元のモードに戻します。

flash.system.IMEConversionMode クラスで、このプロパティの有効な値の定数を定義します。IME を指定しない場合は、null を指定します。

flash.system.IMEConversionMode
itemRenderer 編集されたセルに関連付けられているアイテムレンダラーです。spark.components.gridClasses:IGridItemRenderernull 編集されたセルに関連付けられているアイテムレンダラーです。 rowIndex 編集されているセルの行の 0 で始まるインデックスです。0 編集されているセルの行の 0 で始まるインデックスです。 value デフォルトでは、このプロパティは、data プロパティの setter メソッドによって初期化されます。null デフォルトでは、このプロパティは、data プロパティの setter メソッドによって初期化されます。 このプロパティのデフォルト値は、グリッドコントロールのデータプロバイダーからのセルデータです。 アイテムエディターでは、このプロパティを使用して、アイテムエディター内のビジュアルエレメントを初期化できます。

デフォルトでは、save() メソッドは、エディターが保存されて閉じられたときに、このプロパティの値をグリッドコントロールのデータプロバイダーに書き込み直します。

カスタムアイテムレンダラーの多くは、このプロパティの getter および setter メソッドをオーバーライドします。 setter メソッドをオーバーライドして、セル値に基づいてエディターを初期化します。 getter メソッドをオーバーライドして、新しいセル値を save() メソッドに返します。

IGridItemRenderer IGridItemRenderer インターフェイスは DataGrid アイテムレンダラーで実装する必要があります。mx.core:IDataRenderermx.core:IVisualElement IGridItemRenderer インターフェイスは DataGrid アイテムレンダラーで実装する必要があります。DataGrid では、この API を使用して、1 つのグリッドまたはヘッダーのセルをレンダリングするために必要な情報をアイテムレンダラーに提供します。

レンダラーのプロパティはすべて、親の updateDisplayList() メソッドの実行時に設定されます。プロパティが設定された後に、アイテムレンダラーの prepare() メソッドが呼び出されます。IGridItemRenderer の実装で、prepare() メソッドをオーバーライドして、プロパティやビジュアルエレメントの縦横比を最終調整する必要があります。一般に、prepare() は、data プロパティに基づいて、レンダラーのビジュアルエレメントを設定するために使用します。

再利用可能レンダラーの内部「フリー」リストに追加する場合や再利用される可能性がない場合など、アイテムレンダラーが不要になったら、IGridItemRenderer の discard() メソッドが呼び出されます。

spark.components.DataGridspark.components.Griddiscard アイテムレンダラーが表示されなくなると判断された場合に、アイテムレンダラーの親の updateDisplayList() メソッドから呼び出されます。willBeRecycledこのレンダラーがオーナーの内部フリーリストに追加されて再利用される場合は true です。 アイテムレンダラーが表示されなくなると判断された場合に、アイテムレンダラーの親の updateDisplayList() メソッドから呼び出されます。willBeRecycled パラメーターが true の場合、オーナーはこのレンダラーを内部フリーリストに追加して再利用します。 実装では、このメソッドを使用して不要となったレンダラープロパティを消去できます。

このメソッドが直接呼び出されることは意図されていません。 このメソッドは、DataGrid の実装によって呼び出されます。

prepare レンダラーのすべてのプロパティが設定された後、アイテムレンダラーの親の updateDisplayList() メソッドから呼び出されます。hasBeenRecycled このレンダラーが再利用中である場合は true です。 レンダラーのすべてのプロパティが設定された後、アイテムレンダラーの親の updateDisplayList() メソッドから呼び出されます。このレンダラーが今まで使用されたことがない場合、つまりリサイクルされなかった場合、hasBeenRecycled パラメーターは false です。 このメソッドは、レンダラーが表示されようとしているときに呼び出されます。また、レンダラープロパティの変更または再表示の明示的要求によってレンダラーが再表示されるたびに呼び出されます。

このメソッドを使用して、レンダラーのすべてのビジュアルエレメントとプロパティを設定できます。このメソッドを使用すると、data プロパティをビジュアルエレメントのプロパティにバインドするよりも効率的な場合があります。注意:prepare() メソッドは頻繁に呼び出されるため、効率的なコードを書いてください。

prepare() メソッドは、discard() メソッドの呼び出し前に何度も呼び出されることがあります。

このメソッドが直接呼び出されることは意図されていません。 このメソッドは、DataGrid の実装によって呼び出されます。

columnIndex このアイテムレンダラーのセルの列インデックスです。 このアイテムレンダラーのセルの列インデックスです。これは column.columnIndex と同じ値です。 column このアイテムレンダラーに関連付けられている列を表す GridColumn オブジェクトです。spark.components.gridClasses:GridColumn このアイテムレンダラーに関連付けられている列を表す GridColumn オブジェクトです。 down グリッドセル内で、2 つの入力ジェスチャのうちの 1 つが行われると、つまりマウスボタンまたはタッチスクリーンのどちらかが押されると、このプロパティが true に設定されます。 グリッドセル内で、2 つの入力ジェスチャのうちの 1 つが行われると、つまりマウスボタンまたはタッチスクリーンのどちらかが押されると、このプロパティが true に設定されます。マウスボタンが放されるか、ユーザーがタッチ画面に触れなくなるか、またはマウスやタッチがグリッドセルの外にドラッグされると、down プロパティは false にリセットされます。

List アイテムレンダラーとは異なり、Grid アイテムレンダラーには、ダウンインジケーターを表示する排他的な役割はありません。Grid 自体は、選択された行またはセルのダウンインジケーターをレンダリングします。アイテムレンダラーは、そのビジュアルプロパティを変更して、押下されていることを強調することもできます。

dragging ドラッグ&ドロップ操作中の場合のようにアイテムレンダラーがドラッグされている場合は true が含まれます。 ドラッグ&ドロップ操作中の場合のようにアイテムレンダラーがドラッグされている場合は true が含まれます。 現在、ドラッグ&ドロップ操作は、Spark DataGrid コントロールではサポートされていません。 grid このアイテムレンダラーに関連付けられている Grid です。通常は、単に column.grid の値です。spark.components:Grid このアイテムレンダラーに関連付けられている Grid です。通常は、単に column.grid の値です。 hovered アイテムレンダラーがマウスの下にあり、Grid の selectionMode が GridSelectionMode.SINGLE_CELL または GridSelectionMode.MULTIPLE_CELLS の場合、またはアイテムレンダラーが属する行内にマウスがあり、Grid の selectionMode が GridSelectionMode.SINGLE_ROW または GridSelectionMode.MULTIPLE_ROWS の場合は true になります。 アイテムレンダラーがマウスの下にあり、Grid の selectionMode が GridSelectionMode.SINGLE_CELL または GridSelectionMode.MULTIPLE_CELLS の場合、またはアイテムレンダラーが属する行内にマウスがあり、Grid の selectionMode が GridSelectionMode.SINGLE_ROW または GridSelectionMode.MULTIPLE_ROWS の場合は true になります。

List アイテムレンダラーとは異なり、Grid アイテムレンダラーには、レンダラーまたはその行がマウスの下にあることを表示する排他的な役割はありません。Grid 自体は、マウスポインターが置かれた行またはセルに対して、hoverIndicator スキンパーツを自動的に表示します。Grid アイテムレンダラーは、そのプロパティを変更して、マウスポインターが置かれていることを強調することもできます。

label アイテムレンダラーで表示するストリングです。 アイテムレンダラーで表示するストリングです。

GridItemRenderer クラスは、labelDisplay エレメントが指定されている場合、そのエレメントの text プロパティに、このプロパティの値を自動的にコピーします。Grid は、label を列の itemToLabel() メソッドから返される値に設定します。

spark.components.gridClasses.GridItemRenderer
rowIndex レンダリングされているセルの行の 0 で始まるインデックスです。 レンダリングされているセルの行の 0 で始まるインデックスです。 selected アイテムレンダラーのセルが現在の選択範囲に含まれている場合は true が含まれます。 アイテムレンダラーのセルが現在の選択範囲に含まれている場合は true が含まれます。

List アイテムレンダラーとは異なり、Grid アイテムレンダラーには、自分が選択範囲の一部であることを表示する排他的な役割はありません。Grid 自体は、選択された行またはセルに対して、selectionIndicator スキンパーツを自動的に表示します。また、アイテムレンダラーは、選択範囲の一部であることを強調するためにビジュアルプロパティを変更できます。

showsCaret アイテムレンダラーのセルがキャレットで示される場合は true が含まれます。 アイテムレンダラーのセルがキャレットで示される場合は true が含まれます。

List アイテムレンダラーとは異なり、Grid アイテムレンダラーには、自分のセルまたは行にキャレットがあることを表示する排他的な役割はありません。Grid 自体は、キャレット行またはキャレットセルに対して、caretIndicator スキンパーツを自動的に表示します。また、アイテムレンダラーは、キャレットがあることを強調するためにビジュアルプロパティを変更できます。

ComboBoxGridItemEditorComboBoxGridItemEditor クラスは、DataGrid や Grid などの Spark グリッドコントロールで使用できるアイテムレンダラーを定義します。mx.binding:IBindingClientspark.components.gridClasses:GridItemEditorComboBoxGridItemEditor クラスは、DataGrid や Grid などの Spark グリッドコントロールで使用できるアイテムレンダラーを定義します。ComboBoxGridItemEditor は、セル値のドロップダウンリストを表示します。 セルの新しい値として設定する値を選択します。

次の例は、ComboBoxGridItemEditor をアイテムエディターとして使用している GridColumn を示しています。

        <s:GridColumn dataField="quant" 
            headerText="Qty">
                <s:itemEditor>
                    <fx:Component>
                        <s:ComboBoxGridItemEditor>
                            <s:dataProvider>
                                <s:ArrayList>
                                    <fx:int>0</fx:int>
                                    <fx:int>1</fx:int>
                                    <fx:int>2</fx:int>
                                    <fx:int>3</fx:int>
                                </s:ArrayList>
                            </s:dataProvider>
                        </s:ComboBoxGridItemEditor>
                    </fx:Component>
                </s:itemEditor>
        </s:GridColumn>
      
spark.components.DataGridspark.components.Gridspark.components.gridClasses.GridColumnComboBoxGridItemEditorコンストラクターです。コンストラクターです。comboBoxアイテムエディターの ComboBox コントロールです。spark.components:ComboBoxアイテムエディターの ComboBox コントロールです。 dataProvider アイテムエディターの combox ボックスのデータプロバイダーです。 アイテムエディターの combox ボックスのデータプロバイダーです。