2017-02-12 25 views
0

你能告訴我如何在每個單元格中添加一個div來生成每個td嗎?如何添加到每個單元格在一個ASP GridView的div包裝?

<asp:GridView ID="XDataGridView" 
     CssClass="XDataGridView" 
     ClientIDMode="Static" 
     AllowPaging="True" 
     AllowSorting="True" 
     OnSorting="XDataGridView_Sorting" 
     OnPageIndexChanging="XDataGridView_PageIndexChanging" 
     Font-Size="Smaller" 
     runat="server" 
     EnablePersistedSelection="True" 
     OnRowDataBound="XDataGridView_RowDataBound" 
     OnRowCreated="XDataGridView_RowCreated" 
     SelectedRowStyle-BackColor="#FF7900" 
     meta:resourcekey="XDataGridViewResource1"> 
     <HeaderStyle CssClass="XDataGridViewHeader" BackColor="DimGray" 
      BorderColor="#FF7900" HorizontalAlign="Center" VerticalAlign="Middle" Font-Size="10" Height="34" /> 
     <PagerSettings Visible="false" /> 
     <RowStyle BorderColor="#FF7900" Height="34" Font-Size="10" /> 
     <Columns> 
      <asp:TemplateField> 
       <ItemTemplate> 
        <div id="insideDiv" runat="server"></div> 
       </ItemTemplate> 
      </asp:TemplateField> 
     </Columns> 
    </asp:GridView> 

我需要每次網格在html中生成它的表時,每個td內容都會被包裝在一個div元素中。乍一看應該是一件容易的事,雖然我不知道該怎麼做。我用ItemTemplate嘗試過,但似乎沒有任何區別。

回答

1

您可以在ItemTemplate中執行此操作。

<ItemTemplate> 
    <div><%# Eval("columnA") %></div> 
</ItemTemplate> 

div元素不需要runat="server"的功能。

UPDATE

如果使用自動生成的列,可以使用RowDataBound事件添加<div>

protected void XDataGridView_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    //check if the row is a datarow 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     //loop all the cells in the row 
     for (int i = 0; i < e.Row.Cells.Count; i++) 
     { 
      e.Row.Cells[i].Text = "<div>" + e.Row.Cells[i].Text + "</div>"; 
     } 
    } 
} 
+0

問題是,GridView是動態使用的 - 所以我不知道將被綁定的列。 我所做的是附加到gridView_RowDataBound事件,並在該事件中我已經迭代e.Row.Cells並更改其Text屬性。 感謝您的回覆。 –

+0

我已經更新了我的答案。 – VDWWD

+0

是 - 就是這樣;) –

相關問題