ASP.NET MVC コントロールヘルプ
サーバー読み取りの無効化
コントロールの使用 > FlexGrid > FlexGridの使用 > サーバー読み取りの無効化

FlexGrid では、DisableServerRead プロパティの値を True に設定することで、サーバー側のソート、ページング、フィルタ処理、またはスクロールを無効にできます。デフォルトでは、この値は False に設定されています。任意の操作に対してこのプロパティ値を true に設定すると、すべての現在の項目がクライアント側に転送され、サーバー側イベントは無効になります。ネットワーク呼び出しを実行せずにクライアント側の操作を直接実行できます。

次の図は、DisableServerRead プロパティを設定してページサイズを 10 に設定した FlexGrid を示しています。この例では、「クイックスタート」セクションで追加した Sale.cs モデルを使用します。

次のコード例は、FlexGrid でサーバー読み取りを無効にする方法を示します。この例では、「ページング」トピックで追加した _Pager.cshtml ページを使用します。

コードの場合

DisableServerReadingController.cs

C#
コードのコピー
        public ActionResult DisableServerRead(FormCollection collection)
{
    IValueProvider data = collection;
    if (CallbackManager.CurrentIsCallback)
    {
        var request = CallbackManager.GetCurrentCallbackData<CollectionViewRequest<object>>();
        if (request != null && request.ExtraRequestData != null)
        {
            var extraData = request.ExtraRequestData.Cast<DictionaryEntry>()
                .ToDictionary(kvp => (string)kvp.Key, kvp => kvp.Value.ToString());
            data = new DictionaryValueProvider<string>(extraData, CultureInfo.CurrentCulture);
        }
    }           
    return View(Sale.GetData(20));
}

DisableServerRead.cshtml

Razor
コードのコピー
@using MVCFlexGrid_JP.Models
@using C1.Web.Mvc.Grid

@model IEnumerable<Sale>

@(Html.C1().FlexGrid<Sale>()
    .AutoGenerateColumns(false)
      .Columns(columns =>
        {
            columns.Add(column => column.Binding("開始日").Format("yyyy年/MM月/dd日"));
            columns.Add(column => column.Binding("製品名").AllowResizing(false));
            columns.Add(column => column.Binding("金額").Format("c"));
            columns.Add(column => column.Binding("金額2").Format("c"));
        })
    .CssStyle("height", "auto")
    .Id("dsrPagingGrid")
    .CssClass("grid")
    .IsReadOnly(true)
    .Filterable<Sale>()
    .Bind(b => b.DisableServerRead(true)
    .PageSize(10)
    .Bind(Model))
)

@Html.Partial("_Pager", "dsrPagingGrid")
関連トピック