HI、フレックスデータグリッド - アイテムレンダラーと行のスキップ
私は独自のアイテムレンダラーを備えた6列のデータグリッドを持っています。最初の列で私はチェックを行うことができますし、列にいくつかの有効なデータが含まれているかどうかを確認したい場合は、この行をスキップして、次の行に移動します。言い換えれば、現在のデータオブジェクトの残りのアイテムレンダラーの処理を停止し、次のアイテムにスキップするようにDataGridに指示する方法が必要です。何か案は?
HI、フレックスデータグリッド - アイテムレンダラーと行のスキップ
私は独自のアイテムレンダラーを備えた6列のデータグリッドを持っています。最初の列で私はチェックを行うことができますし、列にいくつかの有効なデータが含まれているかどうかを確認したい場合は、この行をスキップして、次の行に移動します。言い換えれば、現在のデータオブジェクトの残りのアイテムレンダラーの処理を停止し、次のアイテムにスキップするようにDataGridに指示する方法が必要です。何か案は?
私は、ListCollectionViewオブジェクト(ArrayCollectionなど)にfilterFunctionプロパティを使用することをお勧めします。これにより、グリッドに表示される前にDataGridに表示したくないオブジェクトをフィルタ処理することができ、itemRendererがすべて処理されないようにする必要があります。
"スキップ"オブジェクトをデータグリッドに表示し、アイテムレンダラーがそれに応答する方法を変更するだけの場合は、そのレンダラーでコードを記述する必要があります。
アイテムレンダラー内で、前の列のデータ値にアクセスできます。アイテムレンダラーで使用可能なlistDataプロパティを調べ、その結果を使用して、アイテムレンダラーの表示方法を設定する必要があります。
あなたがここにlistDataプロパティに関する情報を見つけることができます:あなたがアイテムの内部コードを書くより具体的な助けが必要な場合
var dgListData:DataGridListData = DataGridListData(listData);
// Process all columns before the current one.
for (var i:int = 0; i < dgListData.columnIndex; i++)
{
// Do something here to examine previous data
// If we should stop processing based on previous values
// then hide everything inside of this renderer (perhaps
// move to a state name 'empty' that has no children), else
// move to the state that renders something.
currentState = shouldSkipObject ? 'empty' : 'normal';
}
:http://livedocs.adobe.com/flex/3/langref/mx/controls/dataGridClasses/DataGridListData.html
を以前の値を調べるために、あなたはこのような何かをコーディングするかもしれませんデータレンダラーの内部にデータがどのように見えるかのサンプルだけでなく、アイテムレンダラーが実際に行うべきことの説明も含めてください。