如果datagridview控件宽度大于各列宽度之和,那么最后一列右面是一片空白。我想实现如果所有列宽度之和小于控件宽度,自动增加空白列。

解决方案 »

  1.   


                int with = 0;
                for(int i=0;i<dataGridView1.Columns.Count;i++)
                {
                    with += dataGridView1.Columns[i].Width;
                }
                if(with<dataGridView1.Width)
                {
                    dataGridView1.Columns.Add("", "");
                    dataGridView1.Columns[dataGridView1.Columns.Count - 1].Width = dataGridView1.Width - with;
                }
      

  2.   

    方法不错,基本可以实现但是我觉得这样实现不太美观,你是在最后一列只增加一列,如果dataGridView宽度远远大于列宽之和,新增的列宽度会很大,这样就和前面列宽度差别很大,会影响美观。能不能像Excel那样,可以增加若干列,美观一些。