FlexGrid では、C1JSONRequest を使用してデータを直接取得できます。これは、サーバー、テーブル、および列を含むリモートデータの URL を指定します。返される配列は、CollectionView オブジェクトのデータソースとして使用されます。
CollectionViewHelper は、コレクションに編集、フィルタ処理、グループ化、ソートなどのサービスを提供する静的クラスです。このクラスには次のメソッドも含まれます。
Read():コレクションからデータを取得します。Edit():FlexGrid で Excel 形式の編集を有効にします。詳細については、「Excel 形式の編集」を参照してください。BatchEdit():一度に複数の項目を編集できます。詳細については、「一括編集」を参照してください。Bind プロパティは、特定の操作を実行するためのアクション URL メソッドを渡すことで、FlexGrid をコレクションに連結するために使用されます。
このトピックでは、既存のデータソースからデータを取得する方法について説明します。これは、データをダッシュボードとして表すデータ集約型のアプリケーションやシナリオを開発する際に役立ちます。ローカルモデル連結については、「クイックスタート:FlexGrid へのデータの追加」を参照してください。
次の図は、「クイックスタート」でアプリケーションに追加したモデル Sale.cs から、C1JSON 要求によってデータをフェッチした後の FlexGrid を示しています。

次のコード例は、リモートデータソースからデータをフェッチするために FlexGrid を連結する方法を示します。
RemoteBindController.cs
| C# |
コードのコピー
|
|---|---|
}
public partial class FlexGridController : Controller
{
public ActionResult RemoteBind_Read([C1JsonRequest] CollectionViewRequest<Sale> requestData)
{
return this.C1Json(CollectionViewHelper.Read(requestData, Sale.GetData(10)));
}
public ActionResult RemoteBind()
{
return View();
}
|
|
RemoteBind.cshtml
| Razor |
コードのコピー
|
|---|---|
@using C1.Web.Mvc.Grid
@(Html.C1().FlexGrid()
.AutoGenerateColumns(false)
.AllowSorting(true)
.Bind(Url.Action("RemoteBind_Read"))
.CssClass("grid")
.SelectionMode(SelectionMode.Row)
.Columns(columns =>
{
columns.Add(column => column.Binding("ID").Visible(false));
columns.Add(column => column.Binding("開始日").Format("MMM d yy"));
columns.Add(column => column.Binding("終了日").Format("HH:mm"));
columns.Add(column => column.Binding("国名"));
columns.Add(column => column.Binding("製品名"));
columns.Add(column => column.Binding("金額").Format("c,ja-jp"));
columns.Add(column => column.Binding("割引").Format("p0"));
})
)
|
|