查找文本中datagridview列的每个值的出现次数,并将每个匹配项显示到下一列

时间:2015-04-25 16:48:19

标签: c# datagridview find-occurrences

我在这里遇到了问题。我试图在datagridview列中显示每个字符串的次数"值"出现。我试图在每个值旁边显示每个事件(例如我想要这个:71-> 4,83-> 7,0B-> 6等)。这是我的代码。我只是把第一个结果拿走了。提前致谢。

    private void button4_Click(object sender, EventArgs e)
    {
        string Text = richTextBox1.Text;

        string[] words = Text.Split(' ');
        foreach (string word in words)
        {
            dataGridView1.Rows.Add(word);
        }

        string searchTerm = " " ;
        foreach (DataGridViewRow r in dataGridView1.Rows )
        {
            if (searchTerm == null || searchTerm == String.Empty || searchTerm.Trim().Length == 0)
            {
                searchTerm = r.Cells["Value_Detected"].Value.ToString();

                var matchQuery = from wor in words
                                 where wor.ToUpperInvariant() == searchTerm.ToUpperInvariant()
                                 select wor;


                int wordCount = matchQuery.Count();

                r.Cells["Occur"].Value = wordCount.ToString();
            }


        }




        button4.Enabled = false;
    }

1 个答案:

答案 0 :(得分:0)

而不是

if (searchTerm == null || searchTerm == String.Empty || searchTerm.Trim().Length == 0)

它应该是:

if (r.Cells["Value_Detected"].Value != null)