2011年9月25日日曜日

◆ローカルプロパティをコンボボックス(オートコンプリートボックス)で表示する

LightSwitchではデータソースに連結していない項目はローカルプロパティとして画面表示する。
一般的な用途としては検索画面の検索項目などだろうか。
そのような項目をコンボボックスとして表示してみたいと思う。

    1. データソースとしてはNorthwindの「Categories」を使用する。
    2. 「ソリューションエクスプローラー」で「画面」フォルダーを右クリックして「画面の追加」をクリックする。
      image
    3. 「画面テンプレート」に「新規データ画面」、「画面名」はデフォルトのまま、「画面データ」は「なし」を指定してOKをクリックする。
      image
    4. デザイン画面上部のツールバーから「データ項目の追加」をクリックする。
      image
    5. 表示された「データ項目の追加」ダイアログで以下のように指定する。(これがコンボボックスに一覧表示される)
      image
    6. もう一度「データ項目の追加」をクリックして、今度はローカルプロパティ用に以下の通り指定する。(これがデータソースになる)
      image
    7. デザイン画面中央ペインのコントロールツリーで「追加」ボタンをクリックして表示されたメニューから「Local Category」を選択する。
      image

これをF5で実行すると以下のようにCategory名称が一覧表示されるコンボボックスが出来上がる。
2011-09-25 15h04_31

手順6のところでローカルプロパティの型に「CategoriesItem」というコレクション型を指定することにより、コントロールが自動的にコンボボックスになり、その「選択肢」プロパティが「Categories」と認識される所がミソのように思う。
「選択肢」プロパティは明示的に「Categories」を指定することもできるが、デフォルトの「自動」のままでも「Categories」が使われるようだ。
2011-09-25 15h08_45

0 件のコメント:

コメントを投稿