[英]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的SNo和ClientName列之间添加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.