1

私は2つの列を持つ非常に単純なDataGridを持っています。次のようなものです:

<mx:DataGrid id="grid" >
    <mx:columns>
        <mx:DataGridColumn dataField="name" headerText="Name"/>
        <mx:DataGridColumn dataField="date" headerText="Date"/>
    </mx:columns>
</mx:DataGrid>

私がやろうとしているのは、ユーザーがボタンをクリックしたときに選択した行のエディションをアクティブにすることです。これまでのところ、これを行う方法の例を見つけることができませんでした。私はすでに6つか7つの異なるアプローチを試しましたが、うまくいきません。誰もこれを行う方法の手がかりを持っていますか?

DataGrid の選択された行 (selectedItem ではない) を取得する方法と、次の方法を使用できます。

  • その行だけをその場で ItemRenderEditor または ItemRenderer を変更します。
  • または、クリックせずにその特定の行の編集を有効にします。

これは私が答えることができなかった質問です

助けていただければ幸いです。

4

1 に答える 1

2

grid.selectedIndex プロパティを使用して、選択した行を取得できます。あなたの問題への1つの考え:

  • デフォルトではfalseであるデータグリッドのアイテムに「編集可能な」プロパティを追加します
  • ボタンをクリックするときは、grid.selectedItem.editable = true; を設定します。
  • グリッドのアイテム レンダラーを新しいものに変更します。これは、アイテムが編集可能な場合は TextInput フィールドを表示し、そうでない場合は単純な Label を表示します。

次のように、実行時にアイテムレンダラーを変更できます。

grid.itemRenderer = new ClassFactory(com.myapp.renderers.MyGridItemRenderer);
于 2010-01-14T12:54:19.357 に答える