2017-10-17 12 views
0

グリッドの詳細テンプレートの中にタブストリップがあります。詳細テンプレートが機能しなくなったときに、データをグループ化することが決まるまでは正常に動作します。調査中、別のタブストリップのIDがnullに設定されていることが判明しましたが、開かれたタブストリップは元のIDを保持しています。なぜ詳細テンプレートがIDへの参照を失ったのか分かりません。以下は私のコードです。グループ化と剣道グリッドのテンプレートが機能しない

グリッドに

@(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> 

私はグループ化の前に、詳細テンプレートを検査するとき、私はIdが正しくされていることがわかり適用

<div class="k-widget k-tabstrip k-header k-floatwrap k-tabstrip-top" id="tabStrip_164317" ...> 
0123グループは現在、代わりにID

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

私は何をする必要があるか上の任意のヒントのヌル含ま前に、私はグループのすべてのテンプレートが初期化されていない後

?多分グリッドを再描画しますか? .refresh()を経由して、グリッドをリフレッシュ

UPDATE

は動作しませんでした。

答えて

0

それは私の悪かったです。私は目の第二のペアが必要でした。私は間違ったモデルを使用していました。 .Read(read => read.Action("Data", "Log")に電話をかけたとき、私が使用するモデルが継承するベースモデルであるlogModelが返されました。だから私は適切なモデルを使用していたときにロード時にはIdプロパティを持っていますが、読んだ後ではなかったベースモデルを返していたので、IDがnullです。 :D

関連する問題