このトピックでは、MVCアプリケーションにモデル連結を使用して、TreeViewコントロールを追加し、コントロールにデータを挿入する方法について説明します。このトピックは次の3つの手順で構成されます。
次の図は、上記の手順を実行した後に表示されるMultiRowコントロールを示しています。

Property.cs)。新しいモデルを追加する方法の詳細については、「コントロールの追加」を参照してください。Properties.csモデルに追加します。ここでは、Propertyクラスを使用して、階層的なデータを表しています。
| C# |
コードのコピー
|
|---|---|
using System; using System.Collections.Generic; using System.Linq; using System.Web; public class Property { public string Header { get; set; } public string Image { get; set; } public bool NewItem { get; set; } public Property[] Items { get; set; } public static Property[] GetData() { return new Property[] { new Property { Header = "電子機器", Items = new Property[] { new Property { Header="トリマー/シェーバー" }, new Property { Header="タブレット" }, new Property { Header="携帯電話", Items = new Property[] { new Property { Header="Apple" }, new Property { Header="Motorola", NewItem=true }, new Property { Header="Nokia" }, new Property { Header="Samsung" }} }, new Property { Header="スピーカー", NewItem=true }, new Property { Header="モニター" } } }, new Property{ Header = "玩具", Items = new Property[]{ new Property{ Header = "縫いぐるみ" }, new Property{ Header = "列車セット" }, new Property{ Header = "クレーンゲーム", NewItem = true }, new Property{ Header = "プロポ" }, new Property{ Header = "玩具銃" } } }, new Property{ Header = "ホーム", Items = new Property[] { new Property{ Header = "コーヒーメーカー" }, new Property{ Header = "パンメーカー", NewItem = true }, new Property{ Header = "ソーラーパネル", NewItem = true }, new Property{ Header = "仕事台" }, new Property{ Header = "プロパングリル" } } } }; } } |
|
アプリケーションにTreeViewコントロールを追加するには、次の手順に従います。
新しいコントローラーの追加
TreeViewController)。| C# |
コードのコピー
|
|---|---|
using <ApplicationName>.Models;
|
|
| TreeViewController.cs |
コードのコピー
|
|---|---|
public ActionResult Index() { return View(Property.GetData(Url)); } |
|
コントローラーのビューの追加
ビュー内で、TreeViewコントロールのインスタンスを作成し、それを.Bindメソッドを使用してデータソースに連結します。DisplayMemberPathはツリーノードに表示されるテキストを設定し、ChildItemsPathは子ノードの配列を設定します。
TreeViewControllerをダブルクリックして開きます。Index()内にカーソルを置きます。| Index.cshtml |
コードのコピー
|
|---|---|
@using TreeView.Models
@model Property[]
@(Html.C1().TreeView()
.Bind(Model)
.DisplayMemberPath("Header")
.ChildItemsPath("Items"))
|
|