ASP.NET MVC Razor をやってみた。 IgniteUI 編 ラッパークラスを参照してコピペでちょっとは楽できるかも
ASP.NET MVC 周辺の記事を書きたいなと思います。ここしばらくは、私が運営している [喜帳面.net]でも使ってる、お気に入りの開発ツール「IgniteUI」の周辺について [喜帳面.net]での事例などを織り交ぜながら、メモを残しておきます。
対象の環境は、ASP.NET MVC4 Razor C# でIgniteUIは2014 Volume 2 です。ちょっと古いけどあしからず。
さて今回は、へんてこなタイトルになってしまいましたが、MVCのRazorを使って「IgniteUI」を利用する場合、「このオプションを使いたいけど、どう書けばいいの?引数の指定の仕方が???」ってときに使ってる方法についてメモを残しておきます。
今回の私の事例は、「igCombo」で「リスト内の複数項目をチェックボックスを使って選択する」ってRazorではどう記述するんだっけ? です。
上記のようにigComboでは、複数の項目の選択、またチェックボックスの使用が可能です。この部分Razorのcshtmlでは以下のかんじで記述すればOKです。(Vol 2014.2では)
@(Html.Infragistics().ComboFor(m => m.BumonCDs).ID("cmbBumonCDs") .MultiSelection(ComboMultiSelection.OnWithCheckboxes) .DataSourceUrl(Url.Action("GetComboListBumonCD")) .ValueKey("BumonCD").TextKey("BumonName") .DataBind().Render() )
複数選択を指定している部分は2行目の
ここなのですが、help(Vol 2014.2)を見ると
MultiSelectionとOnWithCheckboxesといったキーワードがわかります。
そこで、インテリセンスをつかって [.] と入力し候補から[ .MultiSelection]を選択するところまでは簡単に行けます。次の引数部の指定で[(]を入力すると「ComboMultiSelection? enable」ってヒントが表示されるので、「ComboMultiSelection」って入力していけばいいのですが、ちょっと長くて面倒ですね。
そんな時は、「MultiSelection」をダブルクリックで選択して右クリック「定義へ移動」を選択すると、「 ComboWrapper」クラスの該当するメンバーが表示されます。そこからコピー&ペーストします。今回の例だと「ComboMultiSelection」をコピー&ペーストして、次の.OnWithCheckboxesは [.]を打てば、候補リストが表示されるのでそこから選択すれば出来上がりです。
こんな感じで、Wrapperクラスを見ていくと、helpでは見落としてしまっていた機能を発見できたりもして得することもありますね。
今回は以上です。
※igCombo Vol 15で幾つか機能改定があったみたいですね。helpみるとMultiSelectionの部分に相違があります。ちょっと気になったので取り急ぎご報告。
Vol14.2 http://help.infragistics.com/jQuery/2014.2/ui.igcombo
Vol15.1 http://help.infragistics.com/jQuery/2015.1/ui.igcombo