簡體   English   中英

如何在asp:gridview中動態創建列

[英]How to create columns dynamically in a asp:gridview

我想在Gridview中創建一列,其值充當超鏈接。 超鏈接URL由數據集提供的部分組成

Foreach(dRow in Tables[0].Row)
{
url = "<a href=ClientView.aspx?\"" + dRow["client_id"].ToString() +"</a>";
}

如何在gridview中生成顯示此鏈接的列?

其他列在標記中定義。

<asp:GridView ID="GridView1" runat="server" Width="100%" AutoGenerateColumns="False">

<Columns>
     <asp:BoundField DataField="Sno" HeaderText="SNo" />
     <asp:BoundField DataField="ClientName" HeaderText="Name" />
</Columns>
</asp:GridView>

我想在gridview的SNoClientName列之間添加ClientId列,該列的文本是從數據集行drow["clientid"]字段中獲取的,並包含在錨定標記之間,以表現得像url。

在標頭中使用TemplateField ,無需動態創建它:

<asp:GridView runat="server" ID="gridView1" AutoGenerateColumns="false">
    <Columns>
        <asp:TemplateField>
            <HeaderTemplate>
                <asp:hyperlink runat="server" id="hlClientView"
                  NavigateUrl='<%# String.Format("ClientView.aspx?client_id={0}", Eval("client_id")) %>'
                  Text='<%# Eval("client_id") %>'>
                </asp:hyperlink>
            </HeaderTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

要添加到您現有的代碼中,請添加一個templatefield。

<asp:GridView ID="GridView1" runat="server" Width="100%" AutoGenerateColumns="False">
    <Columns>
        <asp:BoundField DataField="Sno" HeaderText="SNo" />
        <asp:BoundField DataField="ClientName" HeaderText="Name" />
        <asp:TemplateField>
        <ItemTemplate>
            <asp:LinkButton runat="server" id="gvlbtnClientVIew"
              PostBackUrl='<%# "ClientView.aspx?client_id=" + Eval("client_id") %>'
              Text='<%# Bind("client_id") %>'>
            </asp:LinkButton>
        </ItemTemplate>
    </asp:TemplateField>
    </Columns>
</asp:GridView>

暫無
暫無

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

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