このセクションでは、MVC WebアプリケーションでCollectionViewをFlexGridコントロールと一緒に使用する方法を説明します。
このトピックは4つの手順で構成されます。
次の図は、上記の手順を実行した後のFlexGridを示しています。
ComponentOneまたはVisualStudioテンプレートを使用して新しいMVCアプリケーションを作成します。MVCアプリケーションの作成の詳細については、「MVCアプリケーションの設定」を参照してください。
例では、C1NWindデータベースを使用します。C1NWind.mdfファイルは、システムのC:\Users\<username>\Documents\ComponentOne Samples\ASP.NET MVC\MVC\MvcExplorer\App_Data に用意されています。
AppData
フォルダに追加します。[モデル]→[新しい項目の追加]→[データ]
を選択し、ADO.NET Entity Data Modelを選択します。テーブル
を選択し、[完了]をクリックします。プロジェクトの[モデル]フォルダの下にC1NWind.edmxが追加されていれば、アプリケーションに対するデータソースの設定は成功です。
先頭に戻るFlexGridコントロールを初期化するには、次の手順を実行します。
新しいコントローラーの追加
QuickStartController
)。C# |
コードのコピー
|
---|---|
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using C1.Web.Mvc.Grid; using C1.Web.Mvc; using C1.Web.Mvc.Serializition; using System.Data.Entity.Validation; using System.Data.Entity; using System.Data; using MVC_DataBinding.Models; |
IndexController.cs
C# |
コードのコピー
|
---|---|
//FlexGrid に対してデータソースを定義します private C1NWindEntities db = new C1NWindEntities(); public ActionResult Index() { return View(); } //JSONのインスタンスを作成します public ActionResult GridReadCategory([C1JsonRequest] CollectionViewRequest<Categories> requestData) { return this.C1Json(CollectionViewHelper.Read(requestData, db.Categories)); } |
コントローラーのビューの追加
Default1Controller
)をダブルクリックして開きます。Index()
内にカーソルを置きます。Index.cshtml
をダブルクリックして開きます。この例では、コントローラーのGridReadCategoryアクションはFlexGridのItemSourceのBindプロパティに割り当てられ、データを挿入します。
Razor (Index.cshtml) |
コードのコピー
|
---|---|
@(Html.C1().FlexGrid().Id("fGRCView").AutoGenerateColumns(false).AllowAddNew(true) .AllowSorting(true).CssClass("grid") .Columns(columns => columns .Add(c => c.Binding("CategoryID")) .Add(c => c.Binding("CategoryName")) .Add(c => c.Binding("Description").Width("500"))) .Bind( ib => ib.Bind(Url.Action("GridReadCategory")) ) ) |