如果你指的排列顺序是升序或者降序排列的话,你不用编程实现的,在winform中的datagrid中,你绑定数据源后,你只要点击某一列,它会按升序来排,你再点击一下,它又按降序来排了。

解决方案 »

  1.   

    第一种方法:
      通过修改DataGrid控件的TableStyles的属性。
    第二种方法:
      将DataGrid控件的DataSource 设置为一个你想要的顺序的DataView。
      

  2.   

    可以的private void SetDgTableStyle()
    {//设置dgDisplay的显示格式,将英文格式转换成中文列名
    //fldVehicleNum, fldMonthBillNum, fldVehicleType, fldStartDate, fldEndDate
    DataGridTableStyle dgStyle = new DataGridTableStyle();
    dgStyle.MappingName =this.dtFreevihecle.TableName ; DataGridColumnStyle fldVehicleNum=new DataGridTextBoxColumn();
    fldVehicleNum.MappingName = "fldVehicleNum";
    fldVehicleNum.HeaderText = "车编号";
    fldVehicleNum.Width = 100;
    dgStyle.GridColumnStyles.Add(fldVehicleNum); DataGridColumnStyle fldMonthBillNum=new DataGridTextBoxColumn();
    fldMonthBillNum.MappingName = "fldMonthBillNum";
    fldMonthBillNum.HeaderText = "月票号";
    fldMonthBillNum.Width = 100;
    dgStyle.GridColumnStyles.Add(fldMonthBillNum); DataGridColumnStyle fldVehicleType=new DataGridTextBoxColumn();
    fldVehicleType.MappingName = "fldVehicleType";
    fldVehicleType.HeaderText = "免费类型";
    fldVehicleType.Width = 100;
    dgStyle.GridColumnStyles.Add(fldVehicleType); DataGridColumnStyle fldVehicleTypePriceID=new DataGridTextBoxColumn();
    fldVehicleTypePriceID.MappingName = "fldVehicleTypePriceID";
    fldVehicleTypePriceID.HeaderText = "车价类型";
    fldVehicleTypePriceID.Width = 100;
    dgStyle.GridColumnStyles.Add(fldVehicleTypePriceID); DataGridColumnStyle fldStartDate=new DataGridTextBoxColumn();
    fldStartDate.MappingName = "fldStartDate";
    fldStartDate.HeaderText = "开始时间";
    fldStartDate.Width = 100;
    dgStyle.GridColumnStyles.Add(fldStartDate); DataGridColumnStyle fldEndDate=new DataGridTextBoxColumn();
    fldEndDate.MappingName = "fldEndDate";
    fldEndDate.HeaderText = "结束时间";
    fldEndDate.Width = 100;
    dgStyle.GridColumnStyles.Add(fldEndDate);
    this.dgList.TableStyles.Clear();
    this.dgList.TableStyles.Add (dgStyle);
    }
      

  3.   

    jinbingg(bing)写的不错,我试试看运行一下
      

  4.   

    自己用了一个苯办法,把原来的GridColumnStyles导出,重新手工加进去,暂时解决了问题,大家有没有更简单的方法?
    数据库的方法并不赞成,维护起来太麻烦~