#c#-4.0
#c #-4.0
Вопрос:
У меня есть текстовое поле для поиска (то есть TextBox1), например, пользователь вводит «aba» в TextBox1. «abandon» помещает в 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;
}
}
Я хочу, чтобы «abandon» был таким, как «aba» в текстовом поле 1, label5.BackColor стал зеленым.
Комментарии:
1. Как правило, вы хотели бы рассмотреть регулярные выражения ( msdn.microsoft.com/en-us/library/hs600312.aspx ) как .NET-эквивалент SQL-ПОДОБНОГО оператора, но в данном конкретном случае вы можете просто использовать . Содержит метод().
Ответ №1:
Простой способ — использовать событие изменения TextBox1 (где фактически будет изменяться содержимое фильтра)
if(!String.IsNullOrEmpty(richTextBox_MWE.Text) amp;amp; richTextBox_MWE.Text.Trim().Contains(textBox1.Text.Trim()))
{
label5.BackColor = Color.Green;
}
Комментарии:
1. Большое спасибо. Я также хочу настроить функцию Contains, то есть, если я введу «1», просто функция Contains найдет «1», а не «11» или «21» или ….
Ответ №2:
Вы хотите использовать какое-то сочетание C#
и sql
🙂 Вы можете использовать строку.Содержит метод для достижения того, чего вы хотите.
if(richTextBox_MWE.Text != null
amp;amp; richTextBox_MWE.Text.Contains(textBox1.Text.Trim())
{
...
}
Ответ №3:
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) amp;amp; !String.IsNullOrEmpty(textBox1.Text) amp;amp; richTextBox_MWE.Text.Contains(textBox1.Text.Trim()))
{
label5.BackColor = Color.Green;
}
}
Здесь contains будет принимать значение для поиска.
Комментарии:
1. » как ‘%%’ верно.
Ответ №4:
Смотрите фрагмент из моего кода. 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;
}
}
Я надеюсь, что это будет полезно.