DataGridView列自适应宽度

来源:http://www.cnblogs.com/wolf-sun/p/3480104.html

在做winform项目中,数据控件DataGridView的使用多多少少是会用到的,如果不设置它的属性,默认情况下是不会自适应宽度的,你想查看某项的数据,就不得不将标题栏拖来拖去,挺烦的。

结果

没设置自适应列宽的

使用自适应列宽的

复制代码
185         /// <summary>
186         /// 使DataGridView的列自适应宽度
187         /// </summary>
188         /// <param name="dgViewFiles"></param>
189         private void AutoSizeColumn(DataGridView dgViewFiles)
190         {
191             int width = 0;
192             //使列自使用宽度
193             //对于DataGridView的每一个列都调整
194             for (int i = 0; i < dgViewFiles.Columns.Count; i++)
195             {
196                 //将每一列都调整为自动适应模式
197                 dgViewFiles.AutoResizeColumn(i, DataGridViewAutoSizeColumnMode.AllCells);
198                 //记录整个DataGridView的宽度
199                 width += dgViewFiles.Columns[i].Width;
200             }
201             //判断调整后的宽度与原来设定的宽度的关系,如果是调整后的宽度大于原来设定的宽度,
202             //则将DataGridView的列自动调整模式设置为显示的列即可,
203             //如果是小于原来设定的宽度,将模式改为填充。
204             if (width > dgViewFiles.Size.Width)
205             {
206                 dgViewFiles.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
207             }
208             else
209             {
210                 dgViewFiles.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
211             }
212             //冻结某列 从左开始 0,1,2
213             dgViewFiles.Columns[1].Frozen = true;
214         }
复制代码

调用:

 //调整列宽
 AutoSizeColumn(dgViewFiles);

 


 

代码中有用到通过反射属性来获取特殊名称来绑定DataGridView

http://www.cnblogs.com/wolf-sun/p/3854262.html

  View Code
  View Code