C#检索datagridview一列含有5个同样的字符串时,改变窗体颜色
for(inti=0;i<dataview_plan.RowCount;i++){stringstr=dataview_plan.Rows[i].Cells[2].Val...
for (int i = 0; i < dataview_plan.RowCount ; i++) {
string str = dataview_plan.Rows[i].Cells[2].Value.ToString(); if (str.Contains("PASS")) { if (Convert.ToInt16(dataview_plan.Rows[i].Cells[2].Value.ToString()) == 5) { MessageBox.Show("PASS", "系统提示"); this.BackColor = Color.Green; } else { MessageBox.Show("Fail", "系统提示"); this.BackColor = Color.Red; }
}
上图,当Status那一列同时出现5个PASS时,弹出提示框“PASS”,然后整个窗体变成绿色,否则提示“Fail”,变成红色,感谢大神 展开
string str = dataview_plan.Rows[i].Cells[2].Value.ToString(); if (str.Contains("PASS")) { if (Convert.ToInt16(dataview_plan.Rows[i].Cells[2].Value.ToString()) == 5) { MessageBox.Show("PASS", "系统提示"); this.BackColor = Color.Green; } else { MessageBox.Show("Fail", "系统提示"); this.BackColor = Color.Red; }
}
上图,当Status那一列同时出现5个PASS时,弹出提示框“PASS”,然后整个窗体变成绿色,否则提示“Fail”,变成红色,感谢大神 展开
2个回答
展开全部
如果datagridview的数据源是个datatable,datatable.Compute("count(Status)", "Status='PASS'") 即可获取到所有的Status=Pass的行数,然后根据这个行数和5比较大小设置背景颜色,如果datagridview的数据源是个List,可以用Linq统计Status=“Pass”的数据行,然后根据这个数字和5比较大小设置背景颜色。
追问
linq怎么统计呢?
追答
list.Where( p.Status=="PASS").Count()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int count = 0;//记录pass个数
for (int i = 0; i < dataview_plan.RowCount; i++)
{
string str = dataview_plan.Rows[i].Cells[2].Value.ToString();
if (str.Contains("PASS"))
{
count++;
}
}
if (count >= 5)
{
MessageBox.Show("PASS", "系统提示");
this.BackColor = Color.Green;
}
else
{
MessageBox.Show("Fail", "系统提示");
this.BackColor = Color.Red;
}
改一改就好了。
for (int i = 0; i < dataview_plan.RowCount; i++)
{
string str = dataview_plan.Rows[i].Cells[2].Value.ToString();
if (str.Contains("PASS"))
{
count++;
}
}
if (count >= 5)
{
MessageBox.Show("PASS", "系统提示");
this.BackColor = Color.Green;
}
else
{
MessageBox.Show("Fail", "系统提示");
this.BackColor = Color.Red;
}
改一改就好了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询