winform中GridView控件在选中⼀⾏后改变选中⾏的背景颜⾊今天在写代码时,碰到⼀个问题,那就是单元格中有⼀列在显⽰的时候是有颜⾊的,但是当选中某⼀⾏后,选中的阴影会覆盖掉原来的颜⾊,结果什么颜⾊也看不到,只能看到选中的阴影,那怎么处理这个问题呢?经过在⽹上搜集资料,最后终于到了办法,下⾯就和⼤家分享⼀下:
1.⾸先在grideView中有⼀个事件CellFormatting,这个事件官⽅解释:需要设置单元格内容的显⽰格式时发⽣;顾名思义就是它可以设置单元格中内容的显⽰样式,包括颜⾊、宽度、背景等,
2.在该事件中,可以通过绑定的字段名称去设置要显⽰的字段内容,例如:
private void dgv_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex < 0) return;//获取正在格式化的列索引,若是⼩于0则表⽰不是当前列
//转化当前的类型为GridView
DataGridView dgv = sender as DataGridView;
//判断是否是当前的列索引,并且判断单元格值是否格式化成功
if (e.RowIndex >= 0&&!e.FormattingApplied)
gridview不显示{
//判断从GridView中是否存在指定的指定的字段名称
if (dgv.Columns[e.ColumnIndex].DataPropertyName.ToUpper() ==字段名称)
{
string sText = "";
//e.Value则是获取当前该字段存储的值
if (e.Value.ToString() ==值)
{
e.value=“要设置的值”;//设置在界⾯上要显⽰的值
e.CellStyle.BackColor = Color.Yellow;//设置该单元格的颜⾊
e.CellStyle.SelectionBackColor = Color.Yellow;//设置该单元格被选中后的颜⾊
e.CellStyle.SelectionForeColor = Color.Black;//设置该单元格被选中后的前景⾊
}
3.上⾯就是设置的过程,希望对⼤家有⽤!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论