Features
- Overview
- Collapsible Column Headers
- Styling Records, Groups, and Cells
- Grouping
- Group Headers
- Row Header
- Filtering
- Row and Column Freezing
- Paging
- Group Panel
- Remote Data Binding
- Custom Cells
- Custom Editors
- Custom Column Headers
- Editing
- Batch Editing
- Sorting
- Virtual Scrolling
- Disable Server Reading
- Data Map
- Excel Export
- PDF Export
- Unobtrusive Validation
Disable Server Reading
Disable Server Reading
Features
MultiRow without paging
Paging MultiRow which PageSize is set to 10
Settings
Description
This sample shows what the DisableServerRead property works for.
When it is set to True, all the items will be transferred to the client side. Sorting, paging or filtering will be done on the client side.And the text like "Loading..." is not shown for loading the data when the scrollbar scrolls.Otherwise, sorting, paging or filtering will be done in server side. And sometimes the "Loading..." text will be shown.
using System.Collections.Generic; using C1.Web.Mvc; using Microsoft.AspNetCore.Mvc; using MultiRowExplorer.Models; using C1.Web.Mvc.Serialization; using Microsoft.AspNetCore.Http; namespace MultiRowExplorer.Controllers { public partial class MultiRowController : 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))); } } }
@model IEnumerable<Sale> @{ ControlOptions optionsModel = ViewBag.DemoOptions; ViewBag.DemoSettings = true; } <h4>@Html.Raw(MultiRowRes.DisableServerRead_Text2)</h4> <c1-multi-row id="dsrMultiRow" class="multirow" 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-multi-row-cell-group> <c1-multi-row-cell binding="ID"></c1-multi-row-cell> <c1-multi-row-cell binding="Active"></c1-multi-row-cell> </c1-multi-row-cell-group> <c1-multi-row-cell-group> <c1-multi-row-cell binding="Start" format="MM/dd/yyyy"></c1-multi-row-cell> <c1-multi-row-cell binding="End" format="MM/dd/yyyy HH:mm:ss" width="150"></c1-multi-row-cell> </c1-multi-row-cell-group> <c1-multi-row-cell-group colspan="2"> <c1-multi-row-cell binding="Country" colspan="2"></c1-multi-row-cell> <c1-multi-row-cell binding="Product"></c1-multi-row-cell> <c1-multi-row-cell binding="Color"></c1-multi-row-cell> </c1-multi-row-cell-group> <c1-multi-row-cell-group colspan="2"> <c1-multi-row-cell binding="Amount"></c1-multi-row-cell> <c1-multi-row-cell binding="Amount2"></c1-multi-row-cell> <c1-multi-row-cell binding="Discount" colspan="2"></c1-multi-row-cell> </c1-multi-row-cell-group> </c1-multi-row> <br /> <br /> <h4>@Html.Raw(MultiRowRes.DisableServerRead_Text3)</h4> <c1-multi-row id="dsrPagingMultiRow" class="multirow" 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-multi-row-cell-group> <c1-multi-row-cell binding="ID"></c1-multi-row-cell> <c1-multi-row-cell binding="Active"></c1-multi-row-cell> </c1-multi-row-cell-group> <c1-multi-row-cell-group> <c1-multi-row-cell binding="Start" format="MM/dd/yyyy"></c1-multi-row-cell> <c1-multi-row-cell binding="End" format="MM/dd/yyyy HH:mm:ss" width="150"></c1-multi-row-cell> </c1-multi-row-cell-group> <c1-multi-row-cell-group colspan="2"> <c1-multi-row-cell binding="Country" colspan="2"></c1-multi-row-cell> <c1-multi-row-cell binding="Product"></c1-multi-row-cell> <c1-multi-row-cell binding="Color"></c1-multi-row-cell> </c1-multi-row-cell-group> <c1-multi-row-cell-group colspan="2"> <c1-multi-row-cell binding="Amount"></c1-multi-row-cell> <c1-multi-row-cell binding="Amount2"></c1-multi-row-cell> <c1-multi-row-cell binding="Discount" colspan="2"></c1-multi-row-cell> </c1-multi-row-cell-group> </c1-multi-row> <c1-pager owner="dsrPagingMultiRow"></c1-pager> @section Settings{ @await Html.PartialAsync("_OptionsMenu", optionsModel) } @section Description{ <p>@Html.Raw(MultiRowRes.DisableServerRead_Text0)</p> <p>@Html.Raw(MultiRowRes.DisableServerRead_Text1)</p> }