2011-07-05 70 views
0

我使用帶有Ajax批量編輯MVC的telerik網格 - 工作非常完美。我必須執行以下操作 - 共同的第2組列,除現有標題之外,不會丟失編輯功能。所以從技術上講,我只需要一種方法來放置跨越2列的額外標題行。我知道我可以使用列模板,但是通過這種方式,我可以得到一列,但只有值 - 下面的代碼。我會感謝任何建議。 謝謝, 安迪asp .net mvc telerik網格和第二個標題列

<columns.Template(o => {%> 

     <table cellspacing="0" class="data-row"> 
      <tr> 
       <td><%=o.Unit_01%></td> 
       <td><%=o.Value_01%></td> 
      </tr> 
     </table> 
    <%}) 
    .ClientTemplate("<table cellspacing='0' calss='data-row' <tr><td><#= Unit_01 #></td><td><#= Value_01 #></td></tr></table>") 
    .HeaderTemplate(() => {%> 
     <table cellspacing="0" class="data-header"> 
      <tr> 
       <td colspan="2" align="center"><strong>Period 1</strong></td> 
      </tr> 
      <tr> 
       <td>Unit</td> 
       <td>Value</td> 
      </tr> 
     </table> 
    <%}) 
    .Width(200); 
+0

爲什麼在一個列上同時使用服務器和客戶端模板?我想你應該有批量客戶端編輯的唯一客戶端模板,如果與這裏定義的Discontinued列的方式一致:http://demos.telerik.com/aspnet-mvc/grid/editingbatch –

+0

我之所以使用兩個模板是在Ajax開始播放後,初始網格加載由服務器站點綁定完成。這是一種改進用戶體驗的可能方法之一,當頁面第一次打開時,不要等待Ajax填滿網格。這項技術也得到了telerik的認可。它的工作原理與它應該一樣。問題在於列模板不可編輯。 – Andy

回答

0

沒關係,從Telerik的支持得到了它,下面只是備案代碼,有一定的侷限性,但對我來說一般的作品相當不錯。

columns.Bound(o => o.Unit_01).Width(49).HeaderHtmlAttributes(new { style="padding:0", colspan = 2 }) // make the column span 
    .HeaderTemplate(() => { 
    %> 
    <div style="text-align:center" class="t-header t-last"> 
     <strong>Period 1</strong> 
    </div> 
    <div> 
     <div class="t-header" style="float:left;width:49px;border-bottom: none">Unit</div> 
     <div class="t-header t-last">Value</div> 
    </div> 
    <% 
    } 
);