手动绑定成功后读出的顺序是:
pass id  name
               111   1   zzz
               222   2    aaa
但我想让显示列名排序与数据库显示的一样:
      id  name  pass
      1   zzz   111
      2    aaa  222我试过用页面控件中的编辑列---BoundField---去掉自动生成字段---分别设置DataField和HeaderText,
但页面会报找不到数据id这个列名
 是否页面也需要修改呢?后台代码还要加什么代码呢?   protected void Page_Load(object sender, EventArgs e)
    {
        if(!IsPostBack)
        showall();
    }    public void showall()
    {
        GridView1.DataSourceID = null;
        GridView1.DataSource = UserManager.GetAll();
        GridView1.DataBind();
       // GridView1.HeaderRow.Cells[0].Text  = "ID";
    
    }请高手指教!!

解决方案 »

  1.   

    DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter(sql,conn);        da.Fill(ds);
            DataView dv = new DataView();        dv.Table = ds.Tables[0];
            dv.Sort = "NewsTime desc";//字段名
            GridView1.DataSource = dv;
            GridView1.DataBind();
      

  2.   

    你前台怎么写的?GridView1的<Columns></Columns>顺序怎么定的?
      

  3.   

    按顺序绑定BoundField的DataField为id  name  pass 
    select id,name,pass from tablename
      

  4.   

    最好在前台写
    <asp:gridview autogeneratecolumns="false"....
    <columns>
    <asp:boundfield datafield="id" ...
    <asp:boundfield datafield="name" ...
    <asp:boundfield datafield="pass" ...
    </columns>