我对 Kendo Grid 中的详细模板有一个奇怪的问题。我有两层深度的详细模板,并且它大部分时间都在工作(听起来很奇怪)。有时,最深的网格不会毫无错误地绑定(bind)来自服务器的数据。在检查 Firebug 时,我可以看到 Json 响应明显地响应了正确的数据,但是网格没有绑定(bind)数据(至少 css 类在标记中显示“t-no-data”)。但让我澄清一下,这种情况只是有时发生,并非总是如此。我一直试图找出这种情况发生时的任何模式,但未能发现任何模式。这是我的代码示例:
<div>
@(Html.Kendo().Grid<DepObject>()
.Name("DepartmentGrid")
.Columns(c =>
{
c.Bound(e => e.DepartmentCode).Hidden();
c.Bound(e => e.DepartmentName);
})
.ClientDetailTemplateId("CesTmp")
.DataSource(d => d.Ajax().Model(model => model.Id(p => p.DepartmentCode)))
.Scrollable(s => s.Enabled(true))
)
</div>
<script id="CesTmp" type="text/kendo-tmpl">
@(Html.Kendo().Grid<CesObject>()
.Name("CesGrid_#=DepartmentCode#")
.Columns(c =>
{
c.Bound(e => e.CesCode).Hidden();
c.Bound(e => e.CesName);
})
.ClientDetailTemplateId("ItemTmp")
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("GetCesData", "Cesce", new { depCode = "#=DepartmentCode#" }).Data("filterCes")).Model(m => m.Id(p => p.CesCode))
.Events(ev => ev.Error("onErrorCes"))
)
.ToClientTemplate()
)
</script>
<script id="ItemTmp" type="text/kendo-tmpl">
@(Html.Kendo().Grid<ItemObject>()
.Name("ItemGrid_#=CesCode#")
.Columns(columns =>
{
columns.Bound(p => p.Item).Hidden();
columns.Bound(p => p.Description).Encoded(false);
})
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("GetItemData", "Cesce", new { depCode = "#=DepartmentCode#", cesceCode = "#=CesCode#" }).Data("filterItem"))
.Events(ev => ev.Error("onErrorCes"))
)
.ToClientTemplate()
)
</script>
有人知道什么可能导致这种奇怪的行为吗?
最佳答案
激活“在源中显示线程”按钮后尝试调试。
由于这种线程结构,我遇到了很多奇怪的问题。也许读取函数的顺序颠倒了。
只是一个想法。
关于jquery - Kendo 网格详细模板两级深 - 最深的网格有时不具有约束力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20998782/