假设一个行高有20,那么10记录的dataGridView的高就是(20*10+列头高)
但我按这个思路在窗口连续生成6个dataGridView(每个dataGridView的记录数不同)
发现生成的高不理想! 有的正好填满Grid也有的多余出好多,什么原因呀

解决方案 »

  1.   

    这样试试看: int height = this.dataGridView1.ColumnHeadersHeight;
    for (int i = 0; i < this.dataGridView1.Rows.Count; i++)
    {
    height += this.dataGridView1.Rows[i].Height;
    }
    if (this.dataGridView1.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) + 2 * SystemInformation.Border3DSize.Width > this.dataGridView1.Width)
    {
    height += SystemInformation.HorizontalScrollBarHeight+2*SystemInformation.Border3DSize.Width;
    }
    this.dataGridView1.Height = height;
      

  2.   

    不要設置Grid的高度,他就自動根據資料筆數伸展了.