日期:2014-05-18  浏览次数:20870 次

DataGridViewLinkColumn绑定后,根据判断显示的颜色
datagridview里要有一个链接形式的列,绑定后显示为"已完成"或"未完成"
根据这个要把link列的颜色显示为不同的颜色,
以前很少做winform的东西,不知道要怎么做,经理要的就是web的那种感觉。

------解决方案--------------------
或者可以在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
{
 
}

}
------解决方案--------------------
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;
}