我有很多列的gridview。它是可排序的,允许Sorting =“ True”,每列都有“排序表达式”。对于每列,排序工作都很好,除了10列具有我在Row_Databound事件中分配的动态标题的列之外:
protected void gvSearchResults_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
for (int i = 1; i < 11; i++)
{
if (Session["Label" + i.ToString()] !=null)
{
e.Row.Cells[i].Text = Session["Label" + i.ToString()].ToString();
}
}
}
}
这10列不可点击。有什么办法可以使它们点击?这些列中的所有其他内容均已启用以进行排序。
我从另一个论坛上获得了一些有关在Page_Load或Page_Init事件中创建列的建议,但这可能对我不起作用。
谢谢你。
您可以替换标题单元格中现有LinkButton的文本:
protected void gvSearchResults_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
for (int i = 1; i < 11; i++)
{
string caption = Session["Label" + i.ToString()] as string;
if (caption != null)
{
TableCell headerCell = e.Row.Cells[i];
LinkButton lnkSort = headerCell.Controls[0] as LinkButton;
lnkSort.Text = caption;
}
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句