我有一个gridview,需要向标题行添加控件。我可以添加文本,但是如何在标题行中添加超链接。
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
GridView HeaderGrid = (GridView)sender;
GridViewRow HeaderGridRow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert);
TableCell HeaderCell = new TableCell();
HeaderCell.Text = "Logistics Details";
HeaderCell.ColumnSpan = 2;
HeaderGridRow.Cells.Add(HeaderCell);
GridView1.Controls[0].Controls.AddAt(0, HeaderGridRow);
HyperLink hl = new HyperLink();
hl.ID = "hlDetail";
hl.Text = "Details";
//the below line doesn't add controls
HeaderGridRow.Controls.Add(hl);
}
}
答案 0 :(得分:1)
我认为您必须将控件添加到行中的特定单元格,例如
HeaderGridRow.Cells[0].Controls.Add(hl);
因为它是一个网格,所以项目存在于单元格外的行中是不合逻辑的 - 那么就无法知道在哪里显示它。
您可能还需要设置超链接的NavigateUrl
属性,否则它不知道在哪里导航,例如。
hl.NavigateURL = "https://www.google.com"