FlexGrid では、DisableServerRead プロパティの値を True に設定することで、サーバー側のソート、ページング、フィルタ処理、またはスクロールを無効にできます。デフォルトでは、この値は False に設定されています。任意の操作に対してこのプロパティ値を true に設定すると、すべての現在の項目がクライアント側に転送され、サーバー側イベントは無効になります。ネットワーク呼び出しを実行せずにクライアント側の操作を直接実行できます。
次の図は、DisableServerRead プロパティを設定してページサイズを 10 に設定した FlexGrid を示しています。この例では、「クイックスタート」セクションで追加した Sale.cs モデルを使用します。
次のコード例は、FlexGrid でサーバー読み取りを無効にする方法を示します。この例では、「ページング」トピックで追加した _Pager.cshtml
ページを使用します。
コントローラに次の参照を含めます。
C# |
コードのコピー
|
---|---|
using <ApplicationName>.Models; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using C1.Web.Mvc; using System.Collections; using System.Globalization; |
DisableServerReadController.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(Sales.GetData(20)); } |
DisableServerRead.cshtml
HTML |
コードのコピー
|
---|---|
@using TagFlexGrid.Models <c1-flex-grid id="dsrPagingGrid" auto-generate-columns="false" height="300px" style="height:auto" class="grid" is-read-only="true" > <c1-flex-grid-filter></c1-flex-grid-filter> <c1-items-source disable-server-read="true" page-size="10" read-action-url="@Url.Action("DisableServerRead_Bind")"></c1-items-source> <c1-flex-grid-column binding="Start"></c1-flex-grid-column> <c1-flex-grid-column binding="Product"></c1-flex-grid-column> <c1-flex-grid-column binding="Amount" format="c"></c1-flex-grid-column> <c1-flex-grid-column binding="Amount2" format="c"></c1-flex-grid-column> </c1-flex-grid> @Html.Partial("_Pager", "dsrPagingGrid") |