希望把DataTable绑定到DataGridView上,有下面几个问题想请教: - 如何只在DataGridView上显示一部分列?比如在DataTable中包含了数据表里的所有列,但在DataGridView中只想显示一部分,该如何设置? - 绑定后如何对DataGridView的每一列设置不同的宽度?我用下面的语句为什么宽度还是不能按照标题来设置?
  dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader;
  dgv.AutoResizeColumns(); - 在DataTable中设置了Caption,可是为什么DataGridView中的列标题还是现实ColumnName??多谢各位!

解决方案 »

  1.   

    如果想显示一部分,就设置DatagridView绑定的列为想要显示的列名!
      

  2.   

    “ 在DataTable中设置了Caption,可是为什么DataGridView中的列标题还是现实ColumnName?? 

    需要甚至DatagridView的headername!
      

  3.   

    在中间增加一个DataView吧,可能会解决你的一些问题
      

  4.   

    - 如何只在DataGridView上显示一部分列?比如在DataTable中包含了数据表里的所有列,但在DataGridView中只想显示一部分,该如何设置? 第一种:你可以在查询的时候就只查出你想要的列。
    第二种:循环判断设置其不想显示的列为Visable,或者在设计dgv的时候就使其不显示- 绑定后如何对DataGridView的每一列设置不同的宽度?我用下面的语句为什么宽度还是不能按照标题来设置? 
      dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader; 
      dgv.AutoResizeColumns(); 回答:你属性用错了,用AutoSizeColumnsMode属性,值设为DisplayedCells;在DataTable中设置了Caption,可是为什么DataGridView中的列标题还是现实ColumnName?? 
    你需要设置的不是Caption而是dgv每列的datapropername为数据表里的列名
      

  5.   

    不想显示的列你可以用datagridview1.Columns[i].visible=false;来实现
      

  6.   

    "如何只在DataGridView上显示一部分列?比如在DataTable中包含了数据表里的所有列,但在DataGridView中只想显示一部分,该如何设置? "
    设置DatagridView的列DataPropertyName属性值为你要显示的列名!
    画面load事件中添加下面的语句:
                this.dataGridView1.AutoGenerateColumns = false;//禁止自动生成列
      

  7.   

    在DataTable中设置了Caption,可是为什么DataGridView中的列标题还是现实ColumnName?? 
    设置DatagridView相应列的HeaderText属性值为你要显示列名!