我尝试过在论坛上搜索答案,但它们似乎都是检查整数值而不是字符串。 我有一个C#表单从SQL表中提取数据值并在datagridview上显示它们。 我希望检查字符串值的列标记为“类型”,并且是我的数据表中的第三列。 我希望突出显示所有包含“药房”一词的第三列中的所有行。
private void invTableDataGridView_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
foreach (DataGridViewRow row in invTableDataGridView.Rows)
{
if (row.Cells[2].Value.ToString() == "Pharmacy")
{
invTableDataGridView.DefaultCellStyle.BackColor = Color.Red;
}
}
}
当我运行这段代码时,即使我执行应该触发数据绑定完成事件的操作,也没有任何变化。令人沮丧的是,如果我将row.Cells [2]更改为row.Cells [3],其中我有整数值,并键入
if (row.Cells[3].Value.ToString() == "0")
代码可以运行,但是作用在错误的列上。它似乎只能处理整数,但我希望它可以处理字符串。我该怎么做?
编辑:是的,抱歉,我应该保持一致。我想要比较的值是“Pharmacy”,首字母大写。
编辑2:好的,我找到了为什么会有这么多麻烦的原因。第二列中的值是通过组合框添加的,由于某种原因,它总是在单词后面添加两个空格,即使在字符串集编辑器中不显示这些空格。