DataGrid - ボタンをクリックしたときに選択された行を編集します
-
20-09-2019 - |
質問
次のような 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 または ItemsRenderer を変更します。
- または、クリックせずにその特定の行の編集を有効にします。
これは私が答えられなかった質問です
ご協力をよろしくお願いいたします。
解決
選択された行は、grid.selectedIndex プロパティで取得できます。あなたの問題について考えてみましょう:
- データグリッド内の項目に「編集可能」プロパティを追加します。デフォルトでは false です。
- ボタンをクリックすると、grid.selectedItem.editable = true に設定されます。
- グリッドのアイテムレンダラーを新しいものに変更します。アイテムが編集可能であれば TextInput フィールドが表示され、そうでない場合は単なるラベルが表示されます。
次のように実行時にアイテムレンダラーを変更できます。
grid.itemRenderer = new ClassFactory(com.myapp.renderers.MyGridItemRenderer);
所属していません StackOverflow