2009-07-22 3 views
0

私は1行、多くの列フレックスデータグリッドを持っています。私はその側にあるdataGridを有効にして、列見出しが単一の列になってv.v.になるようにしたいと思います。フレックスデータグリッドの列と行を交換できますか?

DataGridでこれを行う方法はありますか?

グリッドに表示されているデータを操作していませんか?もしそうなら、あなたのお勧めは何ですか?

ここでの主なアイデアは、私は次のようにオブジェクトを持っている:

x=y 
b=u 
o=p 
u=e 
w=p 

そして、私はそれに視覚的に類似しているコントロールをしたいと思います。私の場合はあまりにも水平である

x b o u w 
y u p e p 

:現在、データグリッドは、などのオブジェクトを表示します。 Thx

答えて

1

あなたは列を1つの列に変換したいと思っています これは、すべての列を取得して配列をデータプロバイダとして提供することで実行できます。

DataGrid.columns 

は列を返します。

このように考えると、列を作成することができます。

私はちょうどコードをコピーしましたが、私はそれがあなたを助けると思います。

1

DataGridに2列だけを設定し、元のデータセットを{propName、propValue}の配列コレクションに変換します。

は、あなたが持っていると言う:

var originalDataSet : ArrayCollection; 
var dataSet : ArrayCollection; 
var columnSet : ArrayCollection; 

あなたが元の値を持っていたら、あなたが何かやる:明確にするために

dataSet = new ArrayCollection(); 

for (var i : int; i < originalDataSet.length; i++) 
{ 
    dataSet.addItem({name : columnSet.getItemAt(i), value : originalDataSet.getItemAt(i)}); 
} 

myDataGrid.dataProvider = dataSet;//set the data provider of the grid to the transformed data set. 

を:

{name : columnSet.getItemAt(i), value : originalDataSet.getItemAt(i)} 

これは、新しいを作成しますObject型のインスタンスを作成し、名前と値の動的プロパティをそれぞれの値に割り当てます。この代わりに、バインド可能なプロパティを持つ独自のクラスを定義することができます。プロパティ名は、あなたが実際に何をしているのかわからないので、この例のためだけです。

その時点のデータグリッドには、2つの列が定義され、dataFieldプロパティがそれに応じて設定されている必要があります。また、この例では、columnSetコレクションに、垂直方向に表示する "水平カラム"が含まれていることを前提としています。 originalDatasetの値に基づいてこれらを取得できれば、columnSetは必要ないかもしれません。

+0

これを行うにはどうすればいいですか? – mrjrdnthms

+0

私はその編集が明確になることを願っています。 –

関連する問題