仅在C#中的datagridview列中着色特定字符串

时间:2015-07-16 09:19:03

标签: c# visual-studio-2010 visual-studio datagridview

我有一个名为highlight的函数名称,如果它包含我要突出显示的单词,则突出显示特定单元格。 我的问题是,它不是只对字符串匹配的部分着色,而是为单元格内的整个字符串着色。

我没有在网上任何地方找到一种方法来着色单元格中的特定字符串。 有谁知道这个?下面是我更改包含术语

的字符串颜色的函数
private void highLight(string term)
    {

        if (term != null)
        {
            int i = 0;
            while (i < dataGridView1.Rows.Count - 1)
            {
                if (dataGridView1.Rows[i].Cells[3] == null)
                {
                    i++;
                    continue;
                }

                else if (dataGridView1.Rows[i].Cells[2].Value.ToString().Contains(term) || dataGridView1.Rows[i].Cells[3].Value.ToString().Contains(term) || dataGridView1.Rows[i].Cells[4].Value.ToString().Contains(term))
                {
                    if (dataGridView1.Rows[i].Cells[2].Value.ToString().Contains(term))
                    {
                        dataGridView1.Rows[i].Cells[2].Style.ForeColor = System.Drawing.Color.Red;
                    }

                    if (dataGridView1.Rows[i].Cells[3].Value.ToString().Contains(term))
                        dataGridView1.Rows[i].Cells[3].Style.ForeColor = System.Drawing.Color.Red;
                    if (dataGridView1.Rows[i].Cells[4].Value.ToString().Contains(term))
                        dataGridView1.Rows[i].Cells[4].Style.ForeColor = System.Drawing.Color.Red;

                    string multirow = dataGridView1.Rows[i].Cells[5].Value.ToString();
                    i++;
                }
                else
                {
                    i++;
                }


            }
        }

    }

0 个答案:

没有答案