在C#中的if运算符中使用like运算符

时间:2014-06-20 12:30:30

标签: c#-4.0

我有一个搜索文本框(即textBox1) 例如,用户输入" aba"在textBox1中。 "放弃"放入datagridiew1。 用户点击datagriview1:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
    richTextBox_MWE.Text = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
    if ("richTextBox_MWE.Text like '%" + textBox1.Text + "%'")
    {
        label5.BackColor = Color.Green;
    }
}

我想要"放弃"就像" aba"在textBox1中,label5.BackColor变为绿色。

4 个答案:

答案 0 :(得分:3)

简单的方法是使用textBox1(其中实际过滤内容将要更改)更改事件

if(!String.IsNullOrEmpty(richTextBox_MWE.Text) && richTextBox_MWE.Text.Trim().Contains(textBox1.Text.Trim()))
{
  label5.BackColor = Color.Green;
}

答案 1 :(得分:2)

您希望使用某种C#sql :)混合使用String.Contains方法来实现您想要的效果。

if(richTextBox_MWE.Text != null
    && richTextBox_MWE.Text.Contains(textBox1.Text.Trim())
{
    ...
}

答案 2 :(得分:0)

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
    richTextBox_MWE.Text = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
    if (!String.IsNullOrEmpty(richTextBox_MWE.Text) && !String.IsNullOrEmpty(textBox1.Text) && richTextBox_MWE.Text.Contains(textBox1.Text.Trim()))
    {
        label5.BackColor = Color.Green;
    }
}

此处包含将接受要搜索的值。

答案 3 :(得分:0)

请参阅我的代码中的代码段。 txtProductCode是一个文本框,用户正在填写product_code以便在列表视图中进行搜索。

        string tmpProductCode = txtProductCode.Text.Trim();
        string tmpProductCodePattern = "^" + Regex.Escape(tmpProductCode).Replace("%", ".*") + "$";

在我的product_code循环中,prodCode将包含每个循环的product_code值。

        productCodeClause = false;              
        if (tmpProductCode.Equals(""))
        {
            productCodeClause = true;
        }
        else
        {
            if (Regex.IsMatch(prodCode, tmpProductCodePattern))
            {
                productCodeClause = true;
            }
        }

我希望这会有所帮助。