我基本上想检查某行是否包含白色,然后不应该在datagridview中替换它,否则如果它包含任何其他颜色,那么该行中的文本可以被替换,但我不知道如何检查这种情况下的情况。
这是代码。
private void button9_Click_1(object sender, EventArgs e)
{
var original = ((DataTable)dataGridView1.DataSource);
var clone = original.Clone();
var ordinal = original.Columns["Stringtext"].Ordinal;
for (int i = 0; i < original.Rows.Count; i++)
{
var values = original.Rows[i].ItemArray;
values[ordinal] = ((values[ordinal].ToString()).ToLower())
.Replace(textBox6.Text.ToLower(), textBox7.Text);
clone.Rows.Add(values);
}
dataGridView1.DataSource = clone;
string filterBy;
filterBy = "Stringtext Like '%" + textBox7.Text + "%'";
((DataTable)dataGridView1.DataSource).DefaultView.RowFilter = filterBy;
}
任何想法?
答案 0 :(得分:1)
要遍历DataGridView
中的所有单元格并检查单元格的背景颜色,您可以执行类似
for (int c = 0; c < dataGridView.ColumnCount; c++)
{
for (int r = 0; r < dataGridView.RowCount; r++)
{
if (dataGridView.DefaultCellStyle.BackColor != Color.White)
// Do your update here
}
}
我希望这会有所帮助。