WinForm,DataGrid中如何设定某一列的颜色与其他列显示的不同?

ClarkKidd 2007-03-30 11:15:37
同上,最好不要第三方控件,如果推荐用第三方控件,请给我点例子
...全文
241 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
peak_weng 2007-03-30
  • 打赏
  • 举报
回复
在datagrid中重绘
private void dgrd_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
e.Graphics.FillRectangle(Brushes.LightBlue,当前行的x坐标,当前行的y坐标,行宽,行高);
e.DrawString(ColumnValue,this.DataGridTableStyle.DataGrid.Font,Brushes.Black,bounds.X,bounds.Y);
}
sz709 2007-03-30
  • 打赏
  • 举报
回复
没有用VS2003,可以在帮助里找到,

VS2005的写法可以如下:
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (dataGridView1.Columns[e.ColumnIndex].Name.Equals("列名"))
{
e.CellStyle.BackColor = Color.YellowGreen;
}
}
ClarkKidd 2007-03-30
  • 打赏
  • 举报
回复
补充一下,VS 2003
lsj_zrp 2007-03-30
  • 打赏
  • 举报
回复
private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if(e.ColumnIndex==1)//设置第二列
e.CellStyle.BackColor = Color.LightSkyBlue;
}
ClarkKidd 2007-03-30
  • 打赏
  • 举报
回复
怎么我的帖子排那么后面啊……顶……
ClarkKidd 2007-03-30
  • 打赏
  • 举报
回复
在csdn找到个第三方插件 DateGridColorSet.dll ,问题已解决,感谢插件作者wangbo。散分
ClarkKidd 2007-03-30
  • 打赏
  • 举报
回复
没有 dataGridView,我用的2003
leixueqiyi 2007-03-30
  • 打赏
  • 举报
回复
private void dataGridView1_CellFormatting(object sender,DataGridViewCellFormattingEventArgs e)
{

if (dataGridView1.Columns[e.ColumnIndex].Name.Equals("列名"))
{
e.CellStyle.BackColor = Color.YellowGreen;
}

}
ClarkKidd 2007-03-30
  • 打赏
  • 举报
回复
to peak_weng(山峰) :
请问bounds.X,bounds.Y 怎么取?

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧