telerik中的子网格不显示记录

时间:2016-05-17 10:58:19

标签: asp.net-mvc-4 asp.net-mvc-5 telerik telerik-grid telerik-mvc

我想创建父子网格。我可以按预期获得父网格,但Datasource方法不会调用子网格。
任何人都可以帮我找到解决办法吗? 这是我的代码:

<div class="panel" style="float:left; width:87%;margin-left:12px">
        @(Html.Kendo().Grid<BuildingAssetEntities.Models.AssetDisplay>()
                .Name("ManageRecordgrid")
                .Columns(columns =>
                {
                    columns.Bound(c => c.BuildingName).Title("Building Name").Width(90);
                    columns.Bound(p => p.BuildingNo).Title("Building Number").Width(95);
                    columns.Bound(p => p.assetID).Title("QR").Width(50);
                })
                .ClientRowTemplate(
                            "<tr>" +

                            "<td width='90px'>#:checkNull(BuildingName)#</td>" +
                            "<td width='95px'>#:checkNull(BuildingNo)#</td>" +
                            "<td width='50px'>#:checkNull(assetID)#</td>" +                            
                            "</tr>")

                 .Pageable(Pageable => Pageable.Numeric(false)
                        .PageSizes(true))
                .Sortable()
                .Scrollable()
                .Filterable()
                .DataSource(dataSource => dataSource
                .Ajax()
                .Read(read => read.Action("GetManageRecordList", "Record"))
                .PageSize(20)
                .ServerOperation(false))
                 .ClientDetailTemplateId("template1")

        )

        <script id="template1" type="text/kendo-tmpl">

                @(Html.Kendo().Grid<BuildingAssetEntities.Models.AssetDisplay>()
                    .Name("grid_#=assetId#")
                    .Columns(columns =>
                    {
                        columns.Bound(c => c.BuildingName).Title("Building Name").Width(90);
                        columns.Bound(p => p.BuildingNo).Title("Building Number").Width(95);
                    })
                    .DataSource(dataSource => dataSource
                    .Ajax()
                    .Read(read => read.Action("GetManageRecordSubList", "Record",new {assetId = "#=assetId#"}))
                    .ServerOperation(false))
                    .ToClientTemplate()
                )
        </script>
</div>

我不知道,问题是什么。我只是得到父网格,而不是子网格 请给我你的建议。

1 个答案:

答案 0 :(得分:0)

我得到了这个问题的解决方案。我刚刚更改了我的父网格,如下所示。它按预期工作。

<div class="panel" style="float:left; width:87%;margin-left:12px">
        @(Html.Kendo().Grid<BuildingAssetEntities.Models.AssetDisplay>()
                .Name("ManageRecordgrid")
                .Columns(columns =>
                {

                    columns.Bound(c => c.BuildingName).Title("BuildingName").Width(90);
                    columns.Bound(c => c.BuildingNo).Title("BuildingNo").Width(95);
                })
                .Pageable(Pageable => Pageable.Numeric(false)
                        .PageSizes(true))
                .Sortable()
                .Scrollable()
                .Filterable()
                .DataSource(dataSource => dataSource
                .Ajax()
                .Read(read => read.Action("GetManageRecordList", "Record"))
                .PageSize(20)
                .ServerOperation(false))
                .ClientDetailTemplateId("template1")

        )

        <script id="template1" type="text/kendo-tmpl">

                @(Html.Kendo().Grid<BuildingAssetEntities.Models.AssetDisplay>()
                    .Name("grid_#=assetId#")
                    .Columns(columns =>
                    {
                        columns.Bound(c => c.BuildingName).Title("Building Name").Width(90);
                        columns.Bound(p => p.BuildingNo).Title("Building Number").Width(95);
                    })
                    .DataSource(dataSource => dataSource
                    .Ajax()
                    .Read(read => read.Action("GetManageRecordSubList", "Record",new {assetId = "#=assetId#"}))
                    .ServerOperation(false))
                    .ToClientTemplate()
                )
        </script>
</div>

它不期望父网格中的客户端模板。