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
Remote Data Binding
Remote Data Binding
This example shows how you can bind MultiRow with the data from some Action.
Features
using Microsoft.AspNetCore.Mvc; using MultiRowExplorer.Models; using C1.Web.Mvc; using C1.Web.Mvc.Serialization; namespace MultiRowExplorer.Controllers { public partial class MultiRowController : Controller { public ActionResult RemoteBind() { return View(); } public ActionResult RemoteBind_Read([C1JsonRequest] CollectionViewRequest<Orders.Order> requestData) { return this.C1Json(CollectionViewHelper.Read(requestData, Orders.GetOrders())); } } }
@using C1.Web.Mvc.MultiRow @{ var cities = Orders.GetCities().ToValues(); ViewBag.DemoDescription = false; } <c1-multi-row id="remoteBindMultiRow" is-read-only="true" class="multirow" selection-mode="Row"> <c1-items-source read-action-url="@Url.Action("RemoteBind_Read")"></c1-items-source> <c1-multi-row-cell-group header="Order" colspan="2"> <c1-multi-row-cell binding="Id" header="ID" class="id" colspan="2" /> <c1-multi-row-cell binding="Amount" header="Amount" format="c" class="amount" colspan="2" /> <c1-multi-row-cell binding="Date" header="Ordered" /> <c1-multi-row-cell binding="ShippedDate" header="Shipped" /> </c1-multi-row-cell-group> <c1-multi-row-cell-group header="Customer" colspan="3"> <c1-multi-row-cell binding="Customer.Name" name="CustomerName" header="Customer" /> <c1-multi-row-cell binding="Customer.Email" name="CustomerEmail" header="Customer Email" class="email" colspan="2" /> <c1-multi-row-cell binding="Customer.Address" name="CustomerAddress" header="Address" colspan="2" /> <c1-multi-row-cell binding="Customer.Phone" name="CustomerPhone" header="Customer Phone" /> <c1-multi-row-cell binding="Customer.City" name="CustomerCity" header="City" datamap-editor="@C1.Web.Mvc.Grid.DataMapEditor.DropDownList"> <c1-data-map display-member-path="Value" selected-value-path="Value"> <c1-items-source source-collection="cities" /> </c1-data-map> </c1-multi-row-cell> <c1-multi-row-cell binding="Customer.State" name="CustomerState" header="State" /> <c1-multi-row-cell binding="Customer.Zip" name="CustomerZip" header="Zip" /> </c1-multi-row-cell-group> <c1-multi-row-cell-group header="Shipper"> <c1-multi-row-cell binding="Shipper.Name" name="ShipperName" header="Shipper" width="*" /> <c1-multi-row-cell binding="Shipper.Email" name="ShipperEmail" header="Shipper Email" class="email" /> <c1-multi-row-cell binding="Shipper.Express" name="ShipperExpress" header="Express" /> </c1-multi-row-cell-group> </c1-multi-row> @section Summary{ @Html.Raw(MultiRowRes.RemoteBind_Text0) }