C# Winform DataGridView 在Columns属性中把要显示的列绑定字段,并排好显示的顺序,为什么一运行就乱了呢? 例如: 正常显示是  列:    姓名  性别  年龄  生日... 运行显示 列:    姓名  年龄  生日  性别.... 
就成这个样子了,是什么意思了,百思不得其解啊,以前从没遇到过啊

解决方案 »

  1.   

    手动给dataGridView增加列好了,顺序肯定不会乱private void AddColumn(string headerText, string dataPropertyName, DataGridView dataGridView, int colWidth)
    {
        DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn();
        col.DataPropertyName = dataPropertyName;
        col.HeaderText = headerText;
        col.Name = dataPropertyName;
        col.Width = colWidth;
        dataGridView.Columns.Add(col);
    }
      

  2.   

    用什么方式对gridview进行填充的,如果是用datasource填充,那面建议看看是不是设置上有问题
      

  3.   

    winform 能贴出什么代码啊,就是简单的查询,简单的绑定,用的三层datagridview1.datasource = ds.table[0];我就是给他指定了,但是现在就是乱了,晕死了我的项目中引用了别人写的一个时间控件,对程序用影响吗???
      

  4.   

    DataGridView是不是设置了自动生成列?
      

  5.   

    搞定了  我发了两个贴 这个是重发的 第一个给分时搞成0分了 0分贴到是搞定了  但是这个没问出来 datagridview1.AutoGenerateColumns=false;  就搞定了hbxtlhx 说对了,但是我好象从来没设置过啊  都不知道这个AutoGenerateColumns属性
      

  6.   

    int index  = 0;
    foreach(DataGridViewColumn column in dataGridView1.Columns)
    {
      column.DisplayIndex = index ++;
    }这样应该不会乱了.DisplayIndex指定各列的显示顺序.
      

  7.   


    this.dataGridView1.AutoGenerateColumns = false;
    11楼是正解,经本人测试,是可以用的
    本人引用11楼怎么变成引用十楼的呢,纳闷