C# 使动态gridview标题可单击
我有一个动态gridview,标题行需要有超链接。我可以为静态网格使用下面的代码 对于静态网格:C# 使动态gridview标题可单击,c#,asp.net,.net,gridview,C#,Asp.net,.net,Gridview,我有一个动态gridview,标题行需要有超链接。我可以为静态网格使用下面的代码 对于静态网格: <asp:boundfield datafield="ID" headertext="ID" headerstyle-wrap="false" Sortexpression="ID"/> 但我如何实现动态网格呢 我使用下面的代码填充动态gridview headercell文本。除此之外,如何使标题单元格可单击 代码:从datatable动态填充gridview标题文本 if (e
<asp:boundfield datafield="ID" headertext="ID" headerstyle-wrap="false" Sortexpression="ID"/>
但我如何实现动态网格呢
我使用下面的代码填充动态gridview headercell文本。除此之外,如何使标题单元格可单击
代码:从datatable动态填充gridview标题文本
if (e.Row.RowType == DataControlRowType.Header)
{
string ID = ViewState["ID"].ToString();
DataTable dtColumnNames = GetColumns(ID);
string[] strColumns = dtColumnText.Rows.OfType<DataRow>().Select(k => k[1].ToString()).ToArray();
for (int i = 0; i < strColumns.Length; i++)
{
e.Row.Cells[i].Text = strColumns[i];
}
}
if(e.Row.RowType==DataControlRowType.Header)
{
字符串ID=ViewState[“ID”].ToString();
DataTable dtColumnNames=GetColumns(ID);
string[]strColumns=dtColumnText.Rows.OfType().Select(k=>k[1].ToString()).ToArray();
for(int i=0;i
一个简单的解决方案是只插入一个链接元素
if (e.Row.RowType == DataControlRowType.Header)
{
string ID = ViewState["ID"].ToString();
DataTable dtColumnNames = GetColumns(ID);
string[] strColumns = dtColumnText.Rows.OfType<DataRow>().Select(k => k[1].ToString()).ToArray();
for (int i = 0; i < strColumns.Length; i++)
{
e.Row.Cells[i].Text = "<a href='myUrl'>" + strColumns[i] + "</a>";
}
}
if(e.Row.RowType==DataControlRowType.Header)
{
字符串ID=ViewState[“ID”].ToString();
DataTable dtColumnNames=GetColumns(ID);
string[]strColumns=dtColumnText.Rows.OfType().Select(k=>k[1].ToString()).ToArray();
for(int i=0;i
或者使用较新的C#语法
$”;
或者添加JavaScript调用有几种方法
e.Row.Cells[i].Text = "<a href='javascript:myFunction()'>" + strColumns[i] + "</a>";
e.Row.Cells[i].Text=”“;
或
e.Row.Cells[i].Text=”“;
实际上我没有传递任何URL,因为列是动态的。我需要在单击任何标题列时触发单击事件。这可能吗?我试了很多,但都没有成功。
e.Row.Cells[i].Text = "<a href='javascript:myFunction()'>" + strColumns[i] + "</a>";
e.Row.Cells[i].Text = "<a href='#' onclick='myFunction()'>" + strColumns[i] + "</a>";