关于DataGridView行和列的背景色-前景色设置
1.设定DataGridView全部单元格的Style
DataGridView内所有单元格的Style变更,可以使用DataGridView对象的DefaultCellStyle属性实现。
1
2
3
4
5
|
//包含Header所有的单元格的背景色为黄色 DataGridView1.DefaultCellStyle.BackColor = Color.Yellow; //包含Header所有的单元格的前景色为黄色 DataGridView1.DefaultCellStyle.ForeColor= Color.Yellow; //前景色设置,只需要将BackColor改为ForeColor即可 |
2.DataGridView.DefaultCellStyle属性可以对包含Header所有单元格的Style进行变更设定,对除 Header以外所 有单元格的Style进行变更,可以使用DataGridView.RowsDefaultCellStyle属性实现
1
2
|
// Header以外所有的单元格的背景色为黄色 DataGridView1.RowsDefaultCellStyle.BackColor = Color.Yellow; |
3.变更某一个单元格的Style
DataGridViewCell.Style属性可以对单一的单元格的Style进行变更设定。
如下面的例子,只对(0, 0)单元格的背景色设定为粉红色。
1
2
|
//(0, 0)单元格的背景色为粉色 DataGridView1[0, 0].Style.BackColor = Color.Pink; |
4.变更被指定的列、行的单元格的Style
DataGridViewColumn.DefaultCellStyle属性,可以对列的单元格Style进行变更设定。 DataGridViewRow.DefaultCellStyle属性,可以对行的单元格Style进行变更设定。
如下面的例子,第一列的单元格的背景色为淡蓝色,第一行的单元格的背景色为淡灰色。
1
2
3
4
5
|
//索引0列的单元格的背景色为淡蓝色 DataGridView1.Columns[0].DefaultCellStyle.BackColor = Color.Aqua; //索引0行的单元格的背景色为淡灰色 DataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.LightGray; |
5.变更奇数行的单元格Style
DataGridView.AlternatingRowsDefaultCellStyle属性,可以变更DataGridView的奇数行的单元格 Style。
如下面的例子,奇数行的单元格的背景色设定为黄绿色
1
2
|
//奇数行的单元格的背景色为黄绿色 DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.GreenYellow; |
6.变更列Header、行Header的单元格Style
列Header的单元格style的变更,可以使用,DataGridView.ColumnHeadersDefaultCellStyle属性实现。行 Header的单元格Style的变更,可以使用DataGridView.RowHeadersDefaultCellStyle属性实现。但是,Header 的是左侧的单元格需要通过DataGridView.TopLeftHeaderCell属性,取得的DataGridViewHeaderCell对象的单 元格Style进行设定。
如下面的例子,列Header的背景色为象牙色,行Header的背景色为橙色。
1
2
3
4
5
|
//列Header的背景色为象牙色 DataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.Ivory; //行Header的背景色为橙色 DataGridView1.RowHeadersDefaultCellStyle.BackColor = Color.Lime; |
补充:每个Header单元格的单元格Style,可以使用这一些的方法取得,和一般的单元格一样,可以使用Style 属性变更,简而言之,就是个可以对每个单元格进行个性化设置。
关于优先顺序
设定单元格Style的属性有优先顺序的。顺序从高到低如下所示。
1). DataGridViewCell.Style
2). DataGridViewRow.DefaultCellStyle
3). DataGridView.AlternatingRowsDefaultCellStyle
4). DataGridView.RowsDefaultCellStyle
5). DataGridViewColumn.DefaultCellStyle
6). DataGridView.DefaultCellStyle
接下来是Header的单元格Style属性的优先顺序。
1). DataGridViewCell.Style
2). DataGridView.RowHeadersDefaultCellStyle
3). DataGridView.ColumnHeadersDefaultCellStyle
4). DataGridView.DefaultCellStyle
单元格本身的设定的Style是最优先的。
privatevoid dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) { int index = CardCMD.PublicInfoCom.GetLendRecordIndex(); if (index ==0) { this.dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.Red; this.dataGridView1.Rows[0].Selected =false; this.dataGridView1.Rows[1].DefaultCellStyle.BackColor = Color.Wheat; this.dataGridView1.Rows[2].DefaultCellStyle.BackColor = Color.Wheat; } else if (index ==1) { this.dataGridView1.Rows[1].DefaultCellStyle.BackColor = Color.Red; this.dataGridView1.Rows[0].Selected =false; this.dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.Wheat; this.dataGridView1.Rows[2].DefaultCellStyle.BackColor = Color.Wheat; } else if (index ==2) { this.dataGridView1.Rows[2].DefaultCellStyle.BackColor = Color.Red; this.dataGridView1.Rows[0].Selected =false; this.dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.Wheat; this.dataGridView1.Rows[1].DefaultCellStyle.BackColor = Color.Wheat; } }
privatevoid rowMergeView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) { //updateview(); for (int i =0; i <this.rowMergeView1.Rows.Count; i++) { try { this.rowMergeView1.Rows[i].DefaultCellStyle.BackColor = Color.FromName(softcolor[this.rowMergeView1.Rows[i].Cells["yujing"].Value.ToString()]); } catch (Exception ex) { new FileOper().writelog(ex.Message); } } }