none
Windows Forms RRS feed

  • Вопрос

  • кто подскажет где здесь ошибка ?код должен искать значение в первом столбце который в базе данных является ключом и допускается только числа,а вот код при поиске 56 и 5656 обрабатывает и выделяет как равными строками в datagridview

     for (int i = 0; i < dataGridView1.RowCount; i++)
                {
                    dataGridView1.Rows[i].Selected = false;
    
                    for (int j = 0; j < dataGridView1.ColumnCount; j++)
    
                      if (dataGridView1.Rows[i].Cells[j].Value != null)
                        if (dataGridView1.Rows[i].Cells[j].Value.ToString().Contains(textBox1.Text))
                        {
                            dataGridView1.Rows[i].Selected = true;
                            dataGridView1.DefaultCellStyle.SelectionBackColor = Color.RosyBrown;
                            break;
                        }
                }


    13 ноября 2015 г. 10:01

Ответы

Все ответы

  • Добрый день.

    Не очень понятен вопрос. Судя по всему, вы ищите строку "56". Так как вы применяете ToString().Contains, а Contains это включение, то у вас и выделяются две строки 56 и 5656, т.к. и первая и вторая включают подстроку 56.

    Если проблема в другом, то уточните вопрос.

    13 ноября 2015 г. 10:07
    Отвечающий
  • вся суть в том что в форме есть datagridview который заполняется из баз данных,и в этом же форме есть текстбокс через которую вводятся числа и код должен проверять есть в  датагриде такая строка у которой ID совпадает с заданным числом и выделить эту строку для работы с ним 
    13 ноября 2015 г. 10:13
  • Ну да, все правильно Совпадает (Equal) и включет (Contains), это разные операции. Вам тогда нужен Equal.
    13 ноября 2015 г. 10:18
    Отвечающий