[C#] winform中的DataGridView的列宽设置,添加序号

找了很多都说DataGridView有一个属性AutoSizeColumnMode,他有很多枚举值:

1、AllCells 调整列宽,以适合该列中的所有单元格的内容,包括标题单元格。  
2、AllCellsExceptHeader 调整列宽,以适合该列中的所有单元格的内容,不包括标题单元格。  
3、ColumnHeader 调整列宽,以适合列标题单元格的内容。  
4、DisplayedCells 调整列宽,以适合当前屏幕上显示的行的列中的所有单元格的内容,包括标题单元格。  
5、DisplayedCellsExceptHeader 调整列宽,以适合当前屏幕上显示的行的列中的所有单元格的内容,不包括标题单元格。  
6、Fill 调整列宽,使所有列的宽度正好填充控件的显示区域,只需要水平滚动保证列宽在DataGridViewColumn.MinimumWidth 属性值以上。相对列宽由相对 DataGridViewColumn.FillWeight 属性值决定。  
7、None 列宽不会自动调整。  
8、NotSet 列的大小调整行为从 DataGridView.AutoSizeColumnsMode 属性继承。


使用方法举例:

 
 

this.IssuesDataGridView.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;


其他方法见相关文档:
DataGridView控件使用大全     (这篇比较长,可以使用 ctrl+F 来search 关键字 AutoSizeColumnsMode。



//添加序号 (不影响数据)
        private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
        {
            SolidBrush b = new SolidBrush(this.dataGridView1.RowHeadersDefaultCellStyle.ForeColor);
            e.Graphics.DrawString((e.RowIndex + 1).ToString(System.Globalization.CultureInfo.CurrentUICulture), this.dataGridView1.DefaultCellStyle.Font, b, e.RowBounds.Location.X + 30, e.RowBounds.Location.Y + 4);
        }

猜你喜欢

转载自blog.csdn.net/zhaoyu_m69/article/details/77050857