ASP.NET MVC コントロールヘルプ
リモートデータ連結
コントロールの使用 > FlexGrid > FlexGridの使用 > データ連結 > リモートデータ連結

FlexGrid では、C1JSONRequest を使用してデータを直接取得できます。これは、サーバー、テーブル、および列を含むリモートデータの URL を指定します。返される配列は、CollectionView オブジェクトのデータソースとして使用されます。

CollectionViewHelper は、コレクションに編集、フィルタ処理、グループ化、ソートなどのサービスを提供する静的クラスです。このクラスには次のメソッドも含まれます。

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"));
    })
)
関連トピック