簡體   English   中英

如何將div包裝器添加到asp GridView中的每個單元格?

[英]How to add to each cell in a asp GridView a div wrapper?

您能告訴我如何在每個生成的td內向每個單元格添加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,但似乎沒有任何區別。

您可以在ItemTemplate執行此操作。

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

div元素不需要runat="server"即可運行。

更新

如果使用AutoGenerated列,則可以使用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>";
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM