DataGridViewLinkColumn绑定后,根据判断显示的颜色 datagridview里要有一个链接形式的列,绑定后显示为"已完成"或"未完成"根据这个要把link列的颜色显示为不同的颜色,以前很少做winform的东西,不知道要怎么做,经理要的就是web的那种感觉。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 国庆后第一天上班,都没人来CSDN了啊。 for(int i=0;i< dt.Rows.Count;i++) { if (this.DataGridView.Rows[i].Cells["Column6"].Value.ToString().Equals("未完成")) { this.DataGridView.Rows[i].Cells["Column6"].Style.ForeColor = Color.Red; } } 或者可以在DataGridView_RowPostPaint事件里绘制: private void DataGridView_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) { try { if (e != null) { for (int i = 0; i < GetTable().Rows.Count; i++) { if (this.DataGridView.Rows[i].Cells["Column6"].Value.ToString().Equals("未完成")) { DataGridView.Rows[i].Cells["Column6"].Style.ForeColor = Color.Red; } } } } catch { } } RowPostPaint事件是不需要再循环了的,他本身就是对datagridview每行的重绘 DataGridViewLinkCell state = dgvReport.Rows[e.RowIndex].Cells[5] as DataGridViewLinkCell; if (state.Value.Equals("未完成")) { state.LinkColor = Color.Black; state.ActiveLinkColor = Color.Black; state.LinkBehavior = LinkBehavior.NeverUnderline; } 在绑定内容中判断<%if(Eval("XX").ToString()=="未完成" {%> <.... > <!--在这里给控件设置属性 --><% }else{ %> <......><% } %> RowPostPaint那个事件是不需要循环的,因为他本身就是一个循环如果winform程序上了一两万条数据,循环也会卡吧。 如何关闭除主窗体以外的所有窗体? 当前线程处于堆栈溢出状态,因此无法计算表达式的值。 谁能帮我写一段代码~100分~ 非常奇怪的问题。 有没有人用 c#做 cad 开发的呵。。 C# des加密key的长度问题 dataTable.Select()怎么用? 恳请指教:帮忙写一个修改DataTable列名的类 AutoFac到底做了点什么? 我想把一个创建的图像保存下来,但没成功,请问为什么?谢谢 新版的帖子“保存”功能跑到哪去了? 关于网络的问题
{
if (this.DataGridView.Rows[i].Cells["Column6"].Value.ToString().Equals("未完成"))
{
this.DataGridView.Rows[i].Cells["Column6"].Style.ForeColor = Color.Red;
} }
private void DataGridView_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
try
{
if (e != null)
{
for (int i = 0; i < GetTable().Rows.Count; i++)
{
if (this.DataGridView.Rows[i].Cells["Column6"].Value.ToString().Equals("未完成"))
{ DataGridView.Rows[i].Cells["Column6"].Style.ForeColor = Color.Red; }
}
}
}
catch
{
} }
if (state.Value.Equals("未完成"))
{
state.LinkColor = Color.Black;
state.ActiveLinkColor = Color.Black;
state.LinkBehavior = LinkBehavior.NeverUnderline;
}
<%if(Eval("XX").ToString()=="未完成"
{%>
<.... > <!--在这里给控件设置属性 -->
<% }else{ %>
<......>
<% } %>
如果winform程序上了一两万条数据,循环也会卡吧。