SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Infragistics NetAdvantageチュートリアル(AD)

パワフルRIAを実現する「NetAdvantage ASP.NET AJAX」コントロールスイートを使おう

WebDataMenuとWebDropDownの利用

  • このエントリーをはてなブックマークに追加

WebDataMenuの項目テンプレート

 前項のデータバインディングの際にお気づきかもしれませんが、データバインド可能なプロパティにはImageUrlやNavigateUrlがあります。データバインディングのみでもアイコンの表示をさせることは可能ですが、メニュー内にはユーザーに便利な機能を提供する際に必要な、もっと複雑な項目として表示させることも可能です。

 スマートタグ上には[テンプレート コレクションの編集]という項目がありますが、ここをクリックすることによりメニュー上で使用されるテンプレートを追加することができます。

図5 テンプレート コレクションの編集ウィンドウ
図5 テンプレート コレクションの編集ウィンドウ

 ここで設定されるTemplateIDプロパティの値が実際にメニュー項目のTemplateIDプロパティに設定する値になります。

 テンプレートコレクションにテンプレートを追加し、スマートタグより[テンプレートの編集]をクリックします。スマートタグ上にテンプレートのドロップダウンが表示されます。先ほど追加したテンプレートの中身を作成してみましょう。

図6 WebDataMenuの項目テンプレート
図6 WebDataMenuの項目テンプレート

 任意のコントロールをテンプレート内に配置します。ここではシンプルなボタンを配置しました。

図7 テンプレート内に配置されたボタン
図7 テンプレート内に配置されたボタン

 さらに、テンプレート内の各コントロールのデータバインディングの設定を行います。

図8 テンプレート内コントロールのデータバインディング設定タスク
図8 テンプレート内コントロールのデータバインディング設定タスク
図9 データバインディング編集ウィンドウ
図9 データバインディング編集ウィンドウ

 カスタムバインディングにはASP.NETのDataBinderを使用しますが、実際のデータのContainerオブジェクトはInfragistics.Web.UI.TemplateContainerオブジェクトにキャストをしたうえで使用します。カスタムバインディングで使用する式は次のようになります。

DataBinder.Eval(((Infragistics.Web.UI.TemplateContainer)Container).DataItem, "MenuName")

 これでテンプレートの定義および中身の作成が完了しました。後はこのテンプレートを適用する項目のTemplateIDプロパティを設定することでテンプレートが有効化されます。

 ページを実行すると先ほど作成したテキスト項目だけのメニューが、フォーマットを施した項目表示に変わります。

図10 データバインディング設定をしたWebDataMenu
図10 データバインディング設定をしたWebDataMenu

 テンプレートは一つ一つの項目に設定することも可能ですし、項目のグループごとに設定することでサブメニューのルックアンドフィールや機能を統一させることも可能です。

WebDataMenuのその他の機能

 WebDataMenuには今回紹介した機能だけでなく、縦・横表示や場所による項目展開表示調整、さらにコンテキストメニューとしての使用などの機能が含まれています。

図11 コンテキストメニューとしてのWebDataMenu使用例
図11 コンテキストメニューとしてのWebDataMenu使用例

次のページ
まとめ

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Infragistics NetAdvantageチュートリアル連載記事一覧

もっと読む

この記事の著者

インフラジスティックス・ジャパン株式会社 鈴木 誠(スズキ マコト)

大学卒業後、ホノルルにてエンタープライズコンテンツ管理及び大手リゾートホテルや教育機関向けWeb開発を行う。その後、米海軍サプライ管理システムの開発に従事。.NETからJavaまで主にWebテクノロジーに関わる。筋トレの傍ら植物を育てるのが趣味。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4328 2009/09/08 16:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング