
現場で使えるFlex実践テクニック(4)
Flexでリストの中にチェックボックスや画像を表示!?
クラスメソッド
成瀬 勉
2007/9/25
【実践2】リストの内容を編集する、itemEditor
- - PR -
itemEditorとは、リスト系コントロールのeditableプロパティをtrueに設定した際の、レコードの内容を編集する方法を定義したクラスです。デフォルトでは、TextInputコントロールが割り当てられています。
itemEditorを指定する代わりにrendererIsEditorプロパティをtrueにすることで、itemRendererに指定したコントロールがitemEditorとしても機能するようになります。
また、itemEditorで編集した値を反映するには、editorDataFieldプロパティに、itemEditorが持つ編集後のデータが格納されているプロパティ名を指定する必要があります。itemEditorがCheckBoxであれば“selected”、NumericStepperであれば“value”を指定します。
| ListSample6_a.mxml |
<?xml version="1.0" encoding="utf-8"?> |
ところが、例えばCheckBoxは初期値がtrueかfalseかによって明示的にCheckBoxの状態を定義しない限り、チェックされない状態でしか表示されません。
| サンプル7 |
この例を実行すると、設定された初期値がtrueかfalseかにかかわらずチェックボックスは未チェックの状態になってしまいます。
■ itemRendererの状態を完全に定義する
これを回避するためには、dataプロパティに値が渡されたタイミングで、itemRendererの状態を完全に定義する必要があります。
| サンプル8 |
| ListSample6_b.mxml |
<?xml version="1.0" encoding="utf-8"?> |
この例では、「checkBoxSelected:Boolean」というプロパティを定義したCheckBoxを包括するBoxを、itemRendererおよびitemEditorに設定しています。
Listからdataが渡されるたびにcheckBoxSelectedの値が変更され、バインディングによってCheckBoxのチェック状態が連動して変更されます。これにより、初期値を正しく表示できます。ListのeditorDataFieldにはcheckBoxSelectedを指定しています。
直接CheckBoxのselectedを指定しない理由は、editorDataFieldの値が、itemEditorの最上位に定義されたプロパティにしかアクセスできないためです。
このあたりの詳細に関しては、「アイテムレンダラーとアイテムエディタのライフサイクルについて」を参照してください。
【応用】リストをカラーピッカーにする
最後に、応用例としてカラーピッカーをitemRendererで実現する方法を紹介します。この例では、レコードのカラーコードをそのまま、色で表現しています。ListではなくTileListを用いると、よりカラーピッカーらしくなります。
| サンプル9 |
| ListSample7.mxml |
<?xml version="1.0" encoding="utf-8"?> |
■ itemRendererでリストの利用範囲が広がり、直感的に操作できる
冒頭でも述べましたが、itemRendererは応用範囲が非常に広いため、「複数の選択肢から選択させるコントロール」に当たるものであれば、itemRendererによる実装を検討してみるのもいいでしょう。
次回はバリデータとフォーマッターについて解説します。
■@IT関連記事
| Flex/AIRの開発環境Flex Builder 3を使ってみよう 現場で使えるFlex実践テクニック(特別編) 今秋に機能確定版がリリース予定のFlex Builder 3。EclipseベースのFlex/AIR開発環境のインストール方法と新機能を紹介 「リッチクライアント & 帳票」フ ォーラム 2007/9/6 |
||
| Eclipseで開発可能になったAdobe Flex 2 リッチクライアント・プロダクトレビュー 今年登場するAdobe Flex 2はEclipseプラグインを開発環境とするリッチクライアントフレームワークに生まれ変わった 「リッチクライアント & 帳票」フォーラム 2006/4/8 |
||
Flex2でWebアプリ開発
これまで3週間かかっていたWebアプリのモック開発工程を、3日に短縮できたというFlex2の体験版をダウンロードして簡単アプリを作ってみよう
- 第1回 モックを3日で仕上げるFlex2とは?
- 第2回 MXMLを理解してFlex 2のUIを定義しよう
- 第3回 イベントドリブンなアプリケーション構築
- 第4回 データバインディングでオブジェクト間のデータ受け渡し
- 最終回 より短いXMLコードでサーバ通信させるFlex2
Flexのクライアントサイドをオープンソースで制覇する
大規模なWebアプリケーションを大人数で開発するときに便利なFlexのクライアントサイドのフレームワークを紹介
- 第1回 開発品質を均一化させるCairngormとは?
- 第2回 Flexのフレームワーク、Cairngormを使ってみよう
- 第3回 Flexのフレームワーク、Cairngormのアーキテクチャ
- 第4回 Flexのフレームワーク、Cairngormでサンプルアプリ
- 最終回 Flexのフレームワーク、Cairngormで検索アプリ完成
Flashベースのリッチクライアントを体験
XMLタグでFlashベースのユーザーインターフェイスを構築できるMacromedia Flexを6回の連載で体験・評価します
- 第1回 Macromedia Flexのインストール
- 第2回 Flex開発環境「Flex Builder」のセットアップ
- 第3回 FlexBuilderで新規アプリの開発に着手しよう
- 第4回 ドラッグ&ドロップでUIコンポーネントを配置
- 第5回 Flexならデータ・バインディングもカンタン
- 最終回 Flexの表現力をActionScriptで強化する
プロフィール:成瀬 勉(なるせ つとむ) クラスメソッド株式会社での主な開発実績は、旭化成の電子ファイリングシステム、ひまわり証券のオンライントレードシステム、ベルシステム24の営業支援システムなど。 |
| |
1-2-3 |
| INDEX | ||
| 現場で使えるFlex実践テクニック(4) Flexでリストの中にチェックボックスや画像を表示!? |
||
| Page1 リストの中にチェックボックスや画像を表示できます 【入門】そもそも、リスト系コントロールって何だろう? 【基礎1】リストにデータを表示する |
||
| Page2 【基礎2】ラベルに表示する内容を加工するには? 【実践1】リストのプロパティ、itemRenderer う |
||
| Page3 【実践2】リストの内容を編集する、itemEditor 【応用】リストをカラーピッカーにする |
||
現場で使えるFlex実践テクニック バックナンバー
TechTargetジャパン
- NFCやLTE対応予定のiPhoneと、先行するAndroid (2012/2/9)
iPhoneとAndroid、そしてWindows Phoneという3つのOSの今後を占う。それぞれの通信規格とコンセプトは? - 家電のUIになるブラウザ (2012/2/3)
未来の家電はインターネットに接続でき、ブラウザが内蔵されてくる。家電にブラウザが載ったらどうなるか? 未来のホームネットワークを想像しよう - 「汎用のUI技術」として広がるHTML5 (2012/2/2)
すさまじい勢いで成長しているHTML5を中心としたオープンなWebプラットフォーム。HTML5やAPI、Webブラウザのアップデート情報をお伝えする - ビヨンド・クールジャパン!? (2012/1/27)
コンテンツという文化力と、ものづくりという技術力を掛け合わせる。両方を国内に持ち合わせている国は多くない。チャンスなのだ
|
|
