マスターは1つですが、詳細グリッドが2つあります(同じレベルの詳細グリッド)。ただし、telerikMVCグリッドは同じものをレンダリングできません。
そこで、以下のようなシンプルなテンプレートとなるように、細部までマスターグリッドを試してみました。
@(Html.Telerik().Grid<VIDEO_MASTER>()
.Name("Videos")
.Columns(col =>
{
col.Bound(t => t.VIDEO_ID).Hidden(true);
col.Bound(t => t.VIDEO_NAME).Width(200).Title("Video Name");
col.Bound(t => t.VIDEO_SHORT_NAME).Width(150).Title("Video Short Name");
col.Bound(t => t.VIDEO_ALTERNATE_NAME).Width(200).Title("Video Alternate Name");
col.Bound(t => t.PART_NUMBER).Width(60).Title("Part No");
col.Bound(t => t.DURATION).Width(80).Title("Duration");
col.Command(cmd =>
{
cmd.Edit().ButtonType(GridButtonType.Image);
cmd.Delete().ButtonType(GridButtonType.Image);
}).Width(100).Title("Cmd");
})
.ToolBar(commands =>
{
commands.Insert().ButtonType(GridButtonType.ImageAndText).HtmlAttributes(new { id = "masterAddBtn" });
commands.Custom().HtmlAttributes(new { id = "export" }).Text("Export").Action("Video_Export", "Video");
commands.Custom().HtmlAttributes(new { id = "exportdet" }).Text("Export Detail").Action("Video_ExportDet", "Video");
})
.DataKeys(keys => keys.Add(tkey => tkey.VIDEO_ID).RouteKey("id"))
.DataBinding(dataBinding => dataBinding.Ajax()
.Select("Select_Videos", "Video")
.Insert("Insert_Videos", "Video")
.Update("Update_Videos", "Video")
.Delete("Delete_Videos", "Video")
)
.ClientEvents(events => events.OnDataBound("onDataBound").OnEdit("onEdit"))
.Pageable(pagezie => pagezie.PageSize(5))
.Filterable()
.Scrollable(s => s.Height(440))
.DetailView(details => { details.ClientTemplate("<p>Hello</p>");
details.ClientTemplate("<p>Hi</p>");
})
)
何が問題になっていますか?MVC telrikグリッドは2つの詳細行をサポートしていませんか?