我有一个GridView,它自动绑定到SqlDataSource。我有一个通过GridView的功能,并根据其内容为某些单元格着色。我还在所有列上启用了对GridView的排序。当页面首次加载函数时,适当的单元格起作用。当我单击列标题进行排序时,它会进行排序,但应该着色的单元格不会变色。我尝试在if(isPostBack)条件下调用Page_Load中的着色函数,并尝试使用GridView_Sorted事件将调用函数置于其中。这些都没有效果。我还尝试在调用着色函数之前和之后在Page_Load和GridView_Sorted事件中添加GridView1.DataBind()。在所有场景中,排序都有效但着色没有! 如何使分拣和着色均有效? 谢谢。
答案 0 :(得分:0)
要启用接受答案,请在此处复制我的评论:
将着色逻辑放入GridView's RowDataBound事件中。
答案 1 :(得分:0)
将着色放在OnRowDataBound事件中。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.ForeColor = Color.Red;
e.Row.Cells[0].ForeColor = Color.Red;
}
以这种方式着色细胞,数据绑定期间会发生。