ClientTemplateId不能与Kendo Grid一起使用

时间:2014-06-12 13:37:42

标签: c# asp.net .net asp.net-mvc-4

我的kendo Grid如下:

 @(Html.Kendo().Grid<TEAMS_PP.Entity.Scoring>()
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(c => c.Code).Title("Code");
        columns.Bound(c => c.Correlated_To).Title("Correlated To");
    })
    .Pageable()
    .Sortable()
    .Scrollable(scr=>scr.Height(430)) 
    .Filterable()
    .ClientDetailTemplateId("grdScoringTemplate")
    .BindTo(ViewBag.ScoringList)
)

我有ClientTemplateId如下:

<script type="text/x-kendo-tmpl" id="grdScoringTemplate">
    <div>
        <table>
            <tr>
                <td>
                    #: Code #
                </td>
                <td>
                    #: Correlated_To #
                </td>
             </tr>
        </table>
    <div>
</script>

但它没有正确绑定。

enter image description here

应该如下:

enter image description here

可能是什么问题???

根据客户端模板,它没有绑定网格。

2 个答案:

答案 0 :(得分:0)

此链接应该有助于您的初学者: http://docs.telerik.com/kendo-ui/getting-started/using-kendo-with/aspnet-mvc/helpers/grid/client-detail-template

但很快我会建议更改模板的声明:

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

<script type="text/x-kendo-template" id="grdScoringTemplate">

答案 1 :(得分:0)

我认为问题在于您命名详细信息表的方式。详细信息表不知道应将哪个父记录用作详细信息。首先,我会使用Kendo Grid以获取细节而不是常规表格。这是我的代码看起来如何。

@(Html.Kendo().Grid<OMSWeb.Models.OrderGridViewModel>()
    .Name("grid")
    .HtmlAttributes(new { style = "width:115%;font-size:10px;line-height:2em" })
    .Columns(columns =>
    {
      //columns
    })
        .Selectable(s => s.Mode(GridSelectionMode.Single).Type(GridSelectionType.Cell))              
        .Pageable() // Enable paging
        .Sortable() // Enable sorting
        .ClientDetailTemplateId("OrderDetailsAll")
        .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(5)
        .Read(read => read.Action("Get", "Order"))

        ))

<script id="OrderDetailsAll" type="text/kendo-tmpl">
    @(Html.Kendo().Grid<OMSWeb.Models.OrderDetailAllViewModel>()
        .Name("grid2_#=OpportunityId#") //opprtunityId == row to detail off of 
        .Editable(editable => editable.Mode(GridEditMode.InCell))  
        .Columns(columns =>
        {
            //columns

        })   
        .DataSource(dataSource => dataSource
            .Ajax()
            .Read(read => read.Action("GetDetailsAll", "Order", new {  opportunityId = "#=OpportunityId#" })) //get selected rows details
                      .Model(model => 
               {
                   model.Id (z => z.OrderDetailId);                  
               })      
        )   
        .ToClientTemplate())

</script>

查看文档here