为通过编程方式创建的gridview添加超链接
本文关键字:gridview 添加 超链接 创建 方式 编程 | 更新日期: 2023-09-27 18:03:13
基本上我要做的是在一个循环中创建新的gridviews,然后将它们与一组来自查询的值进行数据绑定。
foreach ( var p in API.Query.GetAccoutsCustomers)
{
var tmpatagridView = new GridView();
Panel1.Controls.Add(tmpatagridView);
tmpatagridView.DataSource = API.Query.GetCustomerOrders(p.CusId);
tmpatagridView.DataBind();
}
GetCustomerOrders函数返回对象列表:
orderNocusCodecusNameorderReforderVal
我想改变顺序no到链接到另一个页面的超链接,但我不确定如何以编程方式做到这一点,因为GridView是在循环中创建的。
试试这个-
foreach ( var p in API.Query.GetAccoutsCustomers)
{
var tmpatagridView = new GridView();
Dataset ds = API.Query.GetCustomerOrders(p.CusId);
dt = ds.Tables[0];
for (int i = 0; i < dt.Columns.Count; i++)
{
HyperLinkField hplnk = new HyperLinkField();
hplnk.DataTextField = dt.Columns[i].ColumnName.ToString();
hplnk.HeaderText = dt.Columns[i].ColumnName.ToString();
tmpatagridView.Columns.Add(hplnk);
}
tmpatagridView.DataSource = ds.Tables[0];
tmpatagridView.DataBind();
Panel1.Controls.Add(tmpatagridView);
}
我假设您没有自动生成列。在本例中,您可以在网格中添加以下标记,而不是orderid
:
<asp:HyperLinkField Text="Show Detail"
DataNavigateUrlFormatString="~/ShowEmployeeDetail.aspx?EmployeeID={0}"
DataNavigateUrlFields="EmployeeID" />