2
@(Html.Kendo().Grid((IEnumerable<Doc.Web.Models.Common.ContactModel>)Model.contact_lst)
.Name("grid")
.Columns(columns =>
{
columns.Bound(o => o.ContactID).Visible(false);
columns.Bound(o => o.ContactName).Title("Contact Name");
columns.ForeignKey(p => p.CPOID, (System.Collections.IEnumerable)ViewData["CPOs"], "cpo_id", "contract_po")
.Title("Company - Contact/Purchase Order");
columns.Command(command => { command.Edit(); command.Destroy(); }).Width(182);
})
.ToolBar(toolbar => toolbar.Create())
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Pageable()
.Sortable()
.Filterable()
.ToolBar(toolbar =>
{
toolbar.Template(@<text>
<div class="toolbar">
<a href="/Contact/EditingInline_Read?grid-mode=insert" class="k-button k-button-icontext k-grid-add">
<span class="k-icon k-add"></span>Add New Record
</a>
<label class="category-label" for="category">Site:</label>
@(Html.Kendo().DropDownListFor(m => m.SiteID)
.Name("SiteID")
.DataTextField("Text")
.DataValueField("Value")
.Events(e => e.Change("categoriesChange"))
.Value(Model.SiteID.ToString())
.DataSource(ds =>
{
ds.Read("ToolbarTemplate_Categories", "Contact");
})
)
</div>
</text>);
})
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Events(events => events.Error("error_handler"))
.Model(model => model.Id(p => p.ContactID))
.Create(update => update.Action("EditingInline_Create", "Contact").Data("additionalInfo"))
.Read(read => read.Action("EditingInline_Read", "Contact").Data("additionalInfo"))
.Update(update => update.Action("EditingInline_Update", "Contact").Data("additionalInfo"))
.Destroy(update => update.Action("EditingInline_Destroy", "Contact").Data("additionalInfo"))
)
)
헤더 템플릿의 SiteID 드롭 다운 변경 이벤트에서 외래 키 열 값을 다시 바인딩하려고합니다. "EditingInline_Read"이벤트에서 시도했지만 ViewBag 값이 업데이트되지 않습니다. 어떤 제안?Kendo Grid 동적으로 외래 키 열 바인딩