.net mvc アプリケーションの詳細テンプレートに別のグリッドを持つ剣道グリッドがあります。サブ グリッドには、フィールド Id、Name、Total、および Score があります。このような列を定義できるようにしたい
columns.Template(@<text></text>).ClientTemplate("<a href=\"#\" onclick=\"myFunction(#=Id#)\">LinkText</a>");
興味深い部分はmyFunction(#=Id#)
です。これを行うと、 Id is undefined というエラーが表示されます。サブグリッドではなくメイン グリッドで動作します。サブグリッドのフィールドにアクセスする方法はありますか? ありがとう。
これが私の見解です:
@( Html.Kendo().Grid<WinStream.WebUI.Models.ServiceItemGridModel>()
.Name("ManageSIGrid")
.Columns(columns =>
{
columns.Template(@<text></text>).ClientTemplate(
"#=showSIFlag(Flagged)#" +
"#=showSILock(Locked)#" +
"#=showSIDeactive(Activated)#"
).Width(75);
columns.Bound(o => o.Id).Width(50);
columns.Bound(o => o.Name).Width(160);
columns.Bound(o => o.Customer).Width(150);
columns.Bound(o => o.Location).Width(150);
columns.Bound(o => o.City);
columns.Bound(o => o.State).Width(60);
columns.Bound(o => o.Type);
columns.Bound(o => o.Style);
columns.Bound(o => o.Material);
})
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(true)
.Read(read => read.Action("ReadServiceItems", "Bids", new { bidId = Model.BidID }))
.Model(model => model.Id(c => c.Id))
)
.Sortable()
.Filterable(f => f
.Extra(false)
)
.ClientDetailTemplateId("biditemgrid")
.Navigatable()
.Pageable(page => page.Refresh(true).PageSizes(true))
.Scrollable(scroll => scroll.Virtual(true).Height(300))
.Selectable(select => select.Mode(GridSelectionMode.Multiple))
.AutoBind(true)
.Events(events => events.DataBound("dataBound"))
)
<script id="biditemgrid" type="text/kendo-tmpl">
@( Html.Kendo().Grid<WinStream.WebUI.Models.BidItemGridModel>()
.Name("BidItemGrid")
.Columns(columns =>
{
columns.Bound(o => o.Id).Width(50);
columns.Bound(o => o.Name).Width(160);
columns.Bound(o => o.Total).Width(75).Title("Total Price");
columns.Bound(o => o.Score).Width(75);
.Sortable()
.Filterable(f => f
.Extra(false)
)
.Navigatable()
.Pageable()
.Selectable(select => select.Mode(GridSelectionMode.Multiple))
.ToolBar(toolbar => toolbar.Template(
"<p class=\"float-left big-text no-margin-bottom\">Vendors</p>"
))
.DataSource(data => data
.Ajax()
.ServerOperation(false)
.PageSize(5)
.Read(read => read.Action("ReadBidItems", "Bids", new { bidId = Model.BidID, siId = "#=Id#" }))
.Model(model => model.Id(c => c.Id))
)
.ToClientTemplate()
)
</script>