2017-10-17 65 views
0

我在我的网格的详细信息模板中有一个选项卡条。它工作正常,直到我决定分组我的数据,当我做的细节模板不再起作用。在我调查过程中发现,不同标签条的标识已设置为空,而我打开的标签条保留其原始标识。我不确定为什么细节模板丢失了对Id的引用。以下是我的代码。分组和Kendo网格模板不起作用

创建网格

@(Html.Kendo().Grid(Model) 
     .Name("ChangeLog") 
     .Columns(columns => 
     { 
      columns.Bound(m => m.ChangeDate2) 
       .Title("Date and Time") 
       .ClientTemplate("<span>#= formatUtcDateToLocal(ChangeDate2 ? ChangeDate : '')#</span>") 
       .Width("12%"); 
      ............................ 
     }) 
     .Filterable() 
     .Selectable() 
     .Sortable() 
     .Groupable() 
     .Resizable(resize => resize.Columns(true)) 
     .ToolBar(toolbar => 
     { 
      toolbar.Template(
        @<text> 
         <a class="k-button k-button-icontext k-grid-excel" href="#"><span class="k-icon k-i-excel"></span>Export to Excel</a> 
        </text> 
       ); 
     }) 

     .Events(e => e.FilterMenuInit("resizeFilter")    
     .DataSource(dataSource => dataSource 
      .Ajax() 
      .Read(read => read.Action("Data", "Log") 
      .Data("buildParam")) 
     ) 
     .DataBound("preselectCustomFilter")) 
     .ClientDetailTemplateId("log-details-template") 
     ) 

,这是我如何定义分组我看到标识被正确之前,我的详细信息模板

<script type="text/x-kendo-template" id="change-log-details-template"> 
<div> 
    @(Html.Kendo().TabStrip() 
    .Name("tabStrip_#=Id#") 
    .Animation(animation => animation.Open(effect => effect.Fade(FadeDirection.In))) 
    .SelectedIndex(0) 
    .Items(tabstrip => 
    { 
     tabstrip.Add().Text("Old Value").Content("<div class='oldValue' style='height:137px;padding:10px''><span>#=OldValue#</span></div>"); 
     tabstrip.Add().Text("New Value").Content("<div class='newValue' style='height:137px;padding:10px'><span'>#=NewValue#</span></div>"); 
    } 
) 
    .ToClientTemplate()) 
</div> 

当我检查的详细信息模板适用

<div class="k-widget k-tabstrip k-header k-floatwrap k-tabstrip-top" id="tabStrip_164317" ...> 

后,我不初始化把所有的模板之前的分组现在包含空值,而不是ID

<div class="k-widget k-tabstrip k-header k-floatwrap k-tabstrip-top" id="tabStrip_null" ........ 

什么我需要做任何提示吗?也许重画网格?

UPDATE

刷新通过.refresh()电网没有工作。

回答

0

这是我的不好。我需要第二双眼睛。我使用了错误的模型。当我打电话给.Read(read => read.Action("Data", "Log")时,我返回了logModel,它是我使用的模型继承的基本模型。因此,当我使用正确的模型加载时,它具有Id属性,但在读取之后,我返回的基础模型没有,因此Id为空。 :D