FlexGrid
DeferCommits プロパティ
このプロパティのデフォルト値は false です。これにより、 データへの変更はデータベースにすぐにコミットされます。
機能
サンプル
設定
説明
このプロパティのデフォルト値は false です。これにより、 データへの変更はデータベースにすぐにコミットされます。
このプロパティを trueに設定すると、 データへの変更(編集、追加、削除など)は追跡されますが、[コミット]ボタンをクリックして変更をコミットするか、[キャンセル]ボタンをクリックして保留中の変更を破棄するまで、 データベースにコミットされません。
ソース
ODataDeferCommitsController.cs
using C1.Web.Mvc; using C1.Web.Mvc.Serialization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using MvcExplorer.Models; using System.Collections.Generic; namespace MvcExplorer.Controllers { public partial class FlexGridController : Controller { // GET: /ODataDeferCommits/ private readonly ControlOptions _oDataDeferCommitsSetting = new ControlOptions { Options = new OptionDictionary { {"Defer Commits", new OptionItem{Values = new List<string> {"True", "False"}, CurrentValue = "False"}} } }; public ActionResult ODataDeferCommits(IFormCollection collection) { _oDataDeferCommitsSetting.LoadPostData(collection); ViewBag.DemoOptions = _oDataDeferCommitsSetting; return View(); } } }
ODataDeferCommits.cshtml
@{ ControlOptions optionsModel = ViewBag.DemoOptions; ViewBag.DemoSettings = true; } @section Scripts{ <script type="text/javascript"> var cv, oDataDeferCommits, minHeight; c1.documentReady(function () { oDataDeferCommits = wijmo.Control.getControl('#oDataDeferCommits'); cv = oDataDeferCommits.collectionView; }); function commitEdits() { cv.commitChanges(function (r) { setQueryMessage('@(FlexGridRes.ODataDeferCommits_Done_Text0)'); }); var isChanged = (cv.itemsEdited && cv.itemsEdited.length); if (isChanged) { setQueryMessage('@(FlexGridRes.ODataDeferCommits_Updating_Text0)'); } else { setQueryMessage('@(FlexGridRes.ODataDeferCommits_No_Change_Text0)'); } } function cancelChanges() { cv.cancelChanges(); setQueryMessage('');//clear message } function setQueryMessage(message, className) { var element = document.getElementById('queryMessage'); element.innerHTML = message; element.className = className; } </script> } <input type="button" value="@Html.Raw(FlexGridRes.ODataDeferCommits_Commit_Text0)" class="btn" onclick="commitEdits()" /> <input type="button" value="@Html.Raw(FlexGridRes.ODataDeferCommits_Cancel_Text0)" class="btn" onclick="cancelChanges()" /> <span id="queryMessage"></span> <c1-flex-grid id="oDataDeferCommits" auto-generate-columns="false"> <c1-flex-grid-column binding="@("@odata.id")" header="OData Id" is-read-only="true"></c1-flex-grid-column> <c1-flex-grid-column binding="@("@odata.editLink")" header="OData edit link" is-read-only="true"></c1-flex-grid-column> <c1-flex-grid-column binding="AirlineCode" header="Airline Code"></c1-flex-grid-column> <c1-flex-grid-column binding="Name"></c1-flex-grid-column> <c1-odata-source service-url="https://services.odata.org/V4/(S(3vn0jej2dr3ebcgodm1zxcys))/TripPinServiceRW/" table-name="Airlines" keys="AirlineCode" defer-commits="@(Convert.ToBoolean(optionsModel.Options["Defer Commits"].CurrentValue))"></c1-odata-source> </c1-flex-grid> @section Settings{ @await Html.PartialAsync("_OptionsMenu", optionsModel) } @section Description{ <p>@Html.Raw(FlexGridRes.ODataDeferCommits_Description_Text0)</p> <p>@Html.Raw(FlexGridRes.ODataDeferCommits_Description_Text1)</p> } @section Summary{ @Html.Raw(FlexGridRes.ODataDeferCommits_Summary_Text0) }
マニュアル