CollectionView
CollectionView
概要
このビューには、CollectionView ASP.NET MVCの基本機能が表示されます。
機能
サンプル
設定
説明
このビューには、CollectionView ASP.NET MVCの基本機能が表示されます。
RefreshOnEdit プロパティは、アイテムの編集後にCollectionViewが(並べ替え、フィルター、およびグループ化操作を適用して)結果を自動的に更新するかどうかを決定します。 このプロパティはデフォルトで true に設定されています。これにより、編集操作後にコレクションが常に正しくソート、フィルター、およびグループ化されます。
ソース
IndexController.cs
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using C1.Web.Mvc; using C1.Web.Mvc.Serialization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Primitives; using MvcExplorer.Models; namespace MvcExplorer.Controllers { public partial class CollectionViewController : Controller { private readonly ControlOptions _optionsModel = new ControlOptions { Options = new OptionDictionary { {"Refresh On Edit", new OptionItem {Values = new List<string> {"True", "False"}, CurrentValue = "True"}} } }; public ActionResult Index(IFormCollection collection) { _optionsModel.LoadPostData(collection); ViewBag.DemoOptions = _optionsModel; return View(); } public ActionResult Index_Bind([C1JsonRequest] CollectionViewRequest<Sale> requestData) { var extraData = requestData.ExtraRequestData .ToDictionary(kvp => kvp.Key, kvp => new StringValues(kvp.Value.ToString())); var data = new FormCollection(extraData); _optionsModel.LoadPostData(data); var model = Sale.GetData(500); return this.C1Json(CollectionViewHelper.Read(requestData, model)); } } }
Index.cshtml
@using C1.Web.Mvc.Grid @model IEnumerable<Sale> @{ ControlOptions optionsModel = ViewBag.DemoOptions; ViewBag.DemoSettings = true; } <c1-items-source id="CVService" initial-items-count="500" read-action-url="@Url.Action("Index_Bind")" refresh-on-edit="@Convert.ToBoolean(optionsModel.Options["Refresh On Edit"].CurrentValue)" disable-server-read="true"></c1-items-source> <c1-flex-grid id="FlexGridCV" items-source-id="CVService" auto-generate-columns="false" sorting-type="SingleColumn" class="grid"> <c1-flex-grid-column binding="ID"></c1-flex-grid-column> <c1-flex-grid-column binding="Start" format="MMM d yy"></c1-flex-grid-column> <c1-flex-grid-column binding="End" format="HH:mm"></c1-flex-grid-column> <c1-flex-grid-column binding="Country"></c1-flex-grid-column> <c1-flex-grid-column binding="Product"></c1-flex-grid-column> <c1-flex-grid-column binding="Color"></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-column binding="Active"></c1-flex-grid-column> </c1-flex-grid> @section Summary{ <p>@Html.Raw(CollectionViewRes.Index_Text0)</p> } @section Settings{ @await Html.PartialAsync("_OptionsMenu", optionsModel) } @section Description{ <p>@Html.Raw(CollectionViewRes.Index_Text0)</p> <p>@Html.Raw(CollectionViewRes.Index_Text1)</p> }
マニュアル