2017-10-17 68 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