在我的DataGrid1中,有时间(显示为2005-04-14)格式,有数字(比如:10 , 58.2 , 37.55)等。点击了DataGrid1每列的标题后,也有排列上的变化,但比如点了日期列,或数据列后,并不能以升序或降序来排列。为什么呢?哪里出了错,如何解决呢?请大家指点!!!private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
string SortField=(string)e.SortExpression;
lastset.Tables[0].DefaultView.Sort=SortField;
DataGrid1.DataSource=lastset.Tables[0];
DataGrid1.DataBind(); }

解决方案 »

  1.   

    ...
    DataGrid1.DataSource=lastset.Tables[0].DefaultView;
    ...
    ps:SortField  应该有定义过
      

  2.   

    DataGrid1.DataSource=lastset.Tables[0].DefaultView;
    还是不行呀,一样的效果
      

  3.   

    DataGrid1.DataSource=lastset.Tables["stringname"];这样就可以拉,不用加后面的DefaultView
       就可以实现升序,降序拉
      

  4.   

    你说你的grid中存在有数字(比如:10 , 58.2 , 37.55)
    你有对你的datatable中的列字段定义为System.Double吗?如果没有,那么它将按照字符型来排序,也就不能理解为什么出现既不是升序,又不是降序的排列了
      

  5.   

    我查了一下资料对排序的介绍
    有代码:this.dg_kjlm.Attributes["SortExpression"]="id";请问哪里有相关于Attributes后边[]内容的详细介绍呀?????
    给各位鞠躬了