FlexGrid
サーバー読み取りの無効化
機能
サンプル
ページングを使用しない FlexGrid
PageSize を 10 に設定した FlexGrid のページング
設定
説明
このサンプルでは、DisableServerRead プロパティが何に対して作用するかを示します。
このプロパティを True に設定した場合は、すべての項目がクライアント側に転送されます。ソート、ページング、またはフィルタ処理はクライアント側で実行されます。
この場合、スクロールバーをスクロールしたときに、データをロードするために「ロード中...」のようなメッセージは表示されません。
そうでない場合、ソート、ページング、またはフィルタ処理はサーバー側で実行されます。この場合は、「ロード中...」というメッセージが表示されることもあります。
ソース
DisableServerReadController.cs
using System.Collections.Generic;
using C1.Web.Mvc;
using Microsoft.AspNetCore.Mvc;
using MvcExplorer.Models;
using C1.Web.Mvc.Serialization;
using Microsoft.AspNetCore.Http;
namespace MvcExplorer.Controllers
{
public partial class FlexGridController : Controller
{
private readonly ControlOptions _disableServerReadSetting = new ControlOptions
{
Options = new OptionDictionary
{
{"Disable Server Read",new OptionItem{Values = new List<string> {"True", "False"},CurrentValue = "True"}}
}
};
public ActionResult DisableServerRead(IFormCollection collection)
{
_disableServerReadSetting.LoadPostData(collection);
ViewBag.DemoOptions = _disableServerReadSetting;
return View();
}
public ActionResult DisableServerRead_Bind([C1JsonRequest] CollectionViewRequest<Sale> requestData)
{
return this.C1Json(CollectionViewHelper.Read(requestData, Sale.GetData(500)));
}
}
}
DisableServerRead.cshtml
@{
ControlOptions optionsModel = ViewBag.DemoOptions;
ViewBag.DemoSettings = true;
}
<h4>@Html.Raw(FlexGridRes.DisableServerRead_Text0)</h4>
<c1-flex-grid id="dsrFlexGrid" auto-generate-columns="true"
class="grid" is-read-only="true">
<c1-flex-grid-filter></c1-flex-grid-filter>
<c1-items-source disable-server-read="@(Convert.ToBoolean(optionsModel.Options["Disable Server Read"].CurrentValue))"
initial-items-count="10"
read-action-url="@Url.Action("DisableServerRead_Bind")"></c1-items-source>
</c1-flex-grid>
<br />
<br />
<h4>@Html.Raw(FlexGridRes.DisableServerRead_Text1)</h4>
<c1-flex-grid id="dsrPagingGrid" auto-generate-columns="true" 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="@(Convert.ToBoolean(optionsModel.Options["Disable Server Read"].CurrentValue))"
page-size="10"
read-action-url="@Url.Action("DisableServerRead_Bind")"></c1-items-source>
</c1-flex-grid>
<c1-pager owner="dsrPagingGrid"></c1-pager>
@section Settings{
@await Html.PartialAsync("_OptionsMenu", optionsModel)
}
@section Description{
@Html.Raw(FlexGridRes.DisableServerRead_Text2)
}
マニュアル