【发布时间】:2016-06-01 08:12:02
【问题描述】:
我有一个网格,它使用客户端模板来显示另一个网格。 'master-grid' 指向模板标签:
.ClientDetailTemplateId("template")
模板标记包含以下网格:
@(Html.Kendo().Grid<SHFTavling_3.Data.bo_Hall>()
.Name("grid2")
.DataSource(dataSource =>
{
dataSource.Ajax().Read(read =>
{
read.Action("GetClubArenas", "Club", new { ClubId = "#=ClubId#" });
});
dataSource.Ajax().Events(e => e.Error("onError"));
}
).Columns(c =>
{
c.Bound(x => x.HallId).HtmlAttributes(new { @class = "arena-id" }).Hidden();
c.Bound(x => x.HallAlias);
c.Bound(x => x.HallMinis);
c.Bound(x => x.HallMeasurement);
c.Bound(x => x.HallCapacity);
c.Bound(x => x).Title("Ta bort").ClientTemplate("<span class='k-icon delete-arena k-i-cancel' onClick='deleteArena(this, #=ClubId#)'></span>");
})
.Sortable().ToClientTemplate()
)
此时,只有第一个展开的行会被最近展开的行填充。例如。如果先展开第一行,我展开第三行,第一行会得到第三行的数据,第三行保持为空。
为了解决这个问题,我改变了
.Name("grid2")
到
.Name("grid2_#=ClubId#")
使模板中的每个网格都是唯一的,以便数据可以找到正确的网格。
我现在的问题是 我没有收到任何错误并且无法继续前进。
提到的控制器在调试模式下没有命中,甚至没有进行对 grid2 填充网格的 ajax 调用 - 我不明白为什么。
浏览器控制台没有抛出任何JS错误,完全没有明显的错误。
截至目前
dataSource.Ajax().Events(e => e.Error("onError"));
对数据源的错误处理,它也不调用它。
【问题讨论】:
标签: kendo-ui kendo-grid kendo-asp.net-mvc