2012-04-07 7 views
2

私のASP MVCプロジェクトにはtelerikグリッドがあります。ほとんどの列はDBからのデータにバインドされますが、1つの列には列レコードの値に依存するイメージアイコンが含まれている必要があります。これを行うには、IF ELSEを含む列テンプレートを使用します。 IF ELSEは、列レコードの値に応じて、特定のイメージ参照(背景イメージを含むcssクラス)​​でhtmlを書き込みます。この作業は負荷がかかります。しかし、グリッド上でソートを実行するとすぐに、テンプレート化された列にレンダリングされたhtmlはすべて失われます。以下のコード。これを行う方法はありますか、私はどのように並べ替えを行う必要がありますか?Telerik MVCグリッドがソートでレンダリングされたhtmlを失う

<div id="gridArea" > 

    @{Html.Telerik().Grid(@Model) 
     .Name("Grid") 
     .Columns(columns => 
      { columns.Template(
       @<text> 
        @if (@item.Q1 == "On Plan") 
        {<div class="scorecardSymbol onPlanSymbol"></div>} 
        else if (@item.Q1 == "Off Plan") 
        {<div class="scorecardSymbol offPlanSymbol"></div>} 
        else if (@item.Q1 == "Serious Constraints") 
        {<div class="scorecardSymbol seriousConstraintsSymbol"></div>} 
        else if (@item.Q1 == "Not Started") 
        {<div class="scorecardSymbol notStartedSymbol"></div>} 
        else 
        {<span>NA</span> } 
       </text>) 

       .HeaderTemplate(
        @<text> 
         <span style="color:red">Quarter Status</span> 
        </text>) 
       .Width(175); 
      columns.Bound("Off_Plan").Width(100).Title("Off Plan"); 
      }) 
     .DataBinding(dataBinding => 
     { 
      dataBinding.Server().Select("Index", "Home", new { ajax = true }); 
      dataBinding.Ajax().Select("_FirstLook", "Home").Enabled(true); 
      }) 
     .Render(); 
    } 
</div> 

答えて

関連する問題