110,534
社区成员
发帖
与我相关
我的任务
分享
string dh = dataGridView1.Rows[e.RowIndex].Cells["联系电话"].Value.ToString().Trim();
if (dh)
{
dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Blue;
}
private void button1_Click(object sender, EventArgs e)
{
var phoneDict = new Dictionary<string, int>();
var usedColor = new Dictionary<string, Color>();
foreach (DataGridViewRow gridRow in this.dataGridView1.Rows)
{
var phone = gridRow.Cells["PhoneNO"].Value as string;
if (phone == null)
break;
if (!phoneDict.ContainsKey(phone))
{
// 记住第一行位置,但不变色
phoneDict.Add(phone, gridRow.Index);
// 生成某种颜色,等发现重复号码时变色
usedColor.Add(phone, GeneraterColor());
}
else
{
var firstRow = phoneDict[phone];
var color = usedColor[phone];
this.dataGridView1.Rows[firstRow].DefaultCellStyle.BackColor = color;
gridRow.DefaultCellStyle.BackColor = color;
}
}
}
private Color GeneraterColor()
{
var radom = new Random(System.Guid.NewGuid().GetHashCode());
var red = radom.Next(0, 255);
var green = radom.Next(0, 255);
var blue = radom.Next(0, 255);
return Color.FromArgb(red, green, blue);
}