ViewState.Add("sorting",e.SortExpression);
if(ViewState["sortdirection"] == null)
    ViewState.Add("sortdirection","ASC");
else
{
    if(ViewState["sortdirection"].ToString()=="ASC")
ViewState["sortdirection"]="DESC";
    else
ViewState["sortdirection"]="ASC";
}
BindData(); //数据绑定
if(e.SortExpression.Equals("ID"))
{
    if(ViewState["sortdirection"].ToString().Equals("DESC"))
this.DataGrid1.Columns[0].HeaderText = "ID↑";
    else
this.DataGrid1.Columns[0].HeaderText = "ID↓";
    this.DataGrid1.Columns[1].HeaderText = "名称";
}
if(e.SortExpression.Equals("name"))
{
    if(ViewState["sortdirection"].ToString().Equals("DESC"))
this.DataGrid1.Columns[1].HeaderText = "名称↑";
    else
this.DataGrid1.Columns[1].HeaderText = "名称↓";
    this.DataGrid1.Columns[0].HeaderText = "ID";
}
上面的代码是放在datagrid的SortCommand方法里的,问题是
当我点击第一列"ID"时,datagrid排序后,HeaderText没有变化;
当我点击第二列"名称"时,datagrid排序后,第一列的HeaderText变了,但第二列的HeaderText没有变
如果有多列时,当我点击第三列时,第二列的HeaderText变了,第三列没有变。
意思就是点击排序时,排完序后,变化的HeaderText是前一次点击的列。也就是HeaderText的变化没有同步,而是延迟了一回。这是什么原因呀 。。
分数不多,希望大家帮帮忙