场景
Winform中使用DataGridView实现加载数据并显示在led大屏中。
需要设置整个DataGridView的前景色、背景色、单元格颜色、标题栏样式、禁止
改变行高、列宽、不显示新增行、取消选中样式等。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
实现
1、DateGridView实现黑底红色,可通过设置、背景色、前景色和字体颜色、
默认列标题样式实现。
BackgroundColor设置背景色
GridColor设置网格线颜色
BorderStyle设置边框样式,这里是None代表无
RowHeadersVisables设置是否显示包含行标题的列,这里是False
EnableHeadersVisualStyles设置为false时自己设置的行列标题样式才能生效,
否则使用系统默认的样式
ColumnHeadersBorderStyle应用于列标题的边框样式,这里是None
2、然后再在窗体load事件中再设置一些样式
dataGridView1.ForeColor = Color.Red; dataGridView1.DefaultCellStyle.BackColor = Color.Black; dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.Black; dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = Color.Red; // 禁止用户改变DataGridView的所有列的列宽 dataGridView1.AllowUserToResizeColumns = false; //禁止用户改变DataGridView所有行的行高 dataGridView1.AllowUserToResizeRows = false; // 禁止用户改变列头的高度 dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; // 禁止用户改变列头的宽度 dataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing; //不显示空白新增行 dataGridView1.AllowUserToAddRows = false;
3、DataGridView设置取消选中样式
重写SelectionChanged事件
事件实现
private void dataGridView1_SelectionChanged(object sender, EventArgs e) { dataGridView1.ClearSelection(); }
4、填充数据源
封装一个数据源实体对象
class ResultVo { [Description("序号")] public int number { get; set; } [Description("班组")] public string team { get; set; } [Description("方向")] public string direction { get; set; } [Description("车号")] public string carNumber { get; set; } [Description("司机")] public string driver { get; set; } public ResultVo() { } public ResultVo(int _number, string _carNumber, string _driver) { number = _number; carNumber = _carNumber; driver = _driver; } public ResultVo(int _number, string _carNumber) { number = _number; carNumber = _carNumber; } public ResultVo( string _carNumber, string _driver) { carNumber = _carNumber; driver = _driver; } public ResultVo(int _number,string _team,string _direction,string _carNumber,string _driver) { number = _number; team = _team; direction = _direction; carNumber = _carNumber; driver = _driver; } }
然后设置数据源
List<ResultVo> list = new List<ResultVo>() { new ResultVo(1,"掘进1", "2201测测测测测测", "营R0001","张三"), new ResultVo(2,"掘进1", "2201测测测测测测555", "营R0001","张三四"), }; //绑定数据源 dataGridView1.DataSource = list;
5、设置每一列的标题
if (dataGridView1.Columns.Count>4) { //设置标题 dataGridView1.Columns[0].HeaderText = "序号"; dataGridView1.Columns[1].HeaderText = "班组"; dataGridView1.Columns[2].HeaderText = "方向"; dataGridView1.Columns[3].HeaderText = "车号"; dataGridView1.Columns[4].HeaderText = "司机"; }
6、设置每一列的宽度
if (dataGridView1.Columns.Count>=4) { dataGridView1.Columns[0].Width = 40; dataGridView1.Columns[1].Width = 80; dataGridView1.Columns[2].Width = 150; dataGridView1.Columns[3].Width = 80; dataGridView1.Columns[4].Width = 80; }