私がしたいのは、ドロップダウンとセル(編集されていないとき)に会社名のテキストを表示することですが、会社のIDを「保存」をクリックしたときにサーバーに返されるデータにすることです.
次のセルをクリックして編集を続行すると (DDL を含むセルが編集モードを終了する)、その場所の読み取り専用セルに会社名の代わりに ID が表示されることを除いて、すべてが完全に機能します。
この図は、私が何を意味するかを示しています。
これを修正する方法、または必要な機能を実現する別の方法を知っている人はいますか?
エディタ テンプレート
@(Html.Kendo().DropDownList()
.Name("Company")
.DataTextField("Name")
.DataValueField("EnterpriseID")
.BindTo((IEnumerable<BlueGrace.BlueShip.Business.Enterprise.EnterpriseChildListingItem>)ViewBag.RefCarrierLiabilityEnterpriseListing))
コントローラー (ViewBag の人口)
var enterpriseListing = Business.Enterprise.EnterpriseChildListing.Get(false, customIdentity.EnterpriseID, false).ToList();
ViewBag.RefCarrierLiabilityEnterpriseListing = enterpriseListing;
意見
@(Html.Kendo().Grid(Model.GlobalDictionary.RefCarrierLiabilityModels)
.Name("CarrierLiabilityDictionaryGrid")
.Columns(columns =>
{
columns.Bound(item => item.CarrierName)
.EditorTemplateName("RefCarrierListing").Width(250);
columns.Bound(item => item.Company)
.EditorTemplateName("RefCarrierLiabilityEnterpriseListing");
columns.Bound(item => item.MaxLiability)
.EditorTemplateName("RefCarrierLiabilityMaxLiability");
columns.Bound(item => item.IsValueOfGoodsMaxLiability);
columns.Command(command =>
{
command.Destroy();
}).Width(100);
})
.ToolBar(toolbar =>
{
toolbar.Create();
toolbar.Save();
})
.Editable(editable => editable.Mode(GridEditMode.InCell).CreateAt(GridInsertRowPosition.Top))
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.Resizable(resize => resize.Columns(true))
.Reorderable(reorder => reorder.Columns(true))
.DataSource(dataSource => dataSource
.Ajax()
.Batch(true)
.ServerOperation(false)
.Model(model =>
{
model.Id(i => i.RefCarrierLiabilityID);
model.Id(i => i.RefCarrierID);
})
.Read(read => read.Action("GetCarrierLiabilities", "Dictionary"))
.Create(create => create.Action("CreateCarrierLiabilities", "Dictionary"))
.Update(update => update.Action("UpdateCarrierLiabilities", "Dictionary"))
.Destroy(delete => delete.Action("DeleteCarrierLiabilities", "Dictionary"))
)
)