FlexGrid は、ICollectionView インタフェースを使用したフィルタ処理をサポートし、条件フィルタおよび値フィルタを適用することができます。したがって、グリッド内にあるデータから対象エントリを簡単に取得できます。
条件によるフィルタを適用することで検索結果を絞り込め、値によるフィルタで対象値を入力して該当するデータを正確に検索できます。さらに、Ascending および Descending ボタンのそれぞれは、適用する列のデータを昇順や降順にソートします。
以下の例では、グリッドの各列にフィルタを適用し、検索する条件や値を指定して Apply ボタンをクリックすると、対象値を取得できます。この例で「クイックスタート」セクションで追加した Sale.cs モデルを使用します。
次のコード例は、FlexGrid でフィルタ処理を有効にする方法を示します。
FilteringController.cs
C# |
コードのコピー
|
---|---|
public ActionResult Index() { return View(Sale.GetData(15)); } |
Filtering.cshtml
Razor |
コードのコピー
|
---|---|
@using MVCFlexGrid_JP.Models @using C1.Web.Mvc.Grid @model IEnumerable<Sale> @(Html.C1().FlexGrid<Sale>() .Id("filteringGrid") .AutoGenerateColumns(false) .Bind(Model) .IsReadOnly(true) .Columns(columns => { columns.Add(column => column.Binding("ID")); columns.Add(column => column.Binding("開始日").Format("yyyy年/MM月/dd日")); columns.Add(column => column.Binding("終了日").Format("t")); columns.Add(column => column.Binding("国名")); columns.Add(column => column.Binding("製品名")); columns.Add(column => column.Binding("色")); }) .Filterable(f => f.DefaultFilterType(C1.Web.Mvc.FilterType.Both)) .CssClass("grid") ) |