- 締切済み
flash DataGridコンポーネント
ComboBoxやListでアイテムを追加する際に ------------------------------------------------------- myList.addItem({label:"名前", data:"データ"}); ------------------------------------------------------- というスクリプトで、 見た目は"名前"だけが表示されますが、同時にdataとして"データ"を持っているので、 選択した時等にdata値"データ"を参照しURLに飛ばす等色々な処理が出来ます。 DataGridの際はこのように、見た目上表示される物とは別に隠れて持っているdata値を持たすにはどうすればよいのでしょうか? 例えば現在はDataGridに対して、 ------------------------------------------------------- myGrid.addItem({product:"製品名", price:"価格"}); ------------------------------------------------------- としていますが、 ------------------------------------------------------- myGrid.addItem({product:"製品名", price:"価格", data:"データ"}); ------------------------------------------------------- としたところで、DataGrid上に"data"という列が追加され、 "データ"が値として表示されてしまいます。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- BlurFiltan
- ベストアンサー率91% (1611/1754)
表示させたくない列(フィールド)を非表示にすれば良いと思います。 言い換えると, 表示させたい列のみを表示させれば良いと思います。 myGrid.columnNames = ["product", "price"]; myGrid.addItem({product:"製品名", price:"価格", data:"データ"}); または myGrid.addColumn("product"); myGrid.addColumn("price"); myGrid.addItem({product:"製品名", price:"価格", data:"データ"}); で行けると思います。 --- --- --- --- --- --- 表示されていなくてもデータとしては生きていることを検証する例です↓。 myGrid.columnNames = ["product", "price"]; myGrid.addItem({product:"滑り台", price:"50万円", data:"新品"}); myGrid.addItem({product:"鉄棒", price:"10万円", data:"傷物"}); myGrid.addItem({product:"ブランコ", price:"15万円", data:"返品"}); // DataGrid 監視用オブジェクト DGListener を作成 var DGListener:Object = new Object(); // DataGridのアイテムが選択されたときの動作を定義 DGListener.change = function(evtObject:Object) { // 選択されたアイテムの 「data」 のプロパティを出力 trace(evtObject.target.selectedItem["data"]); }; // myGrid のリスナーとして DGListener を追加 myGrid.addEventListener("change", DGListener); (※ 以上 ActionScript2.0 )
お礼
>BlurFiltanさん 回答ありがとうございます! 思い通りに動作しました。