Поиск в таблице Datagridview

Тема в разделе ".NET", создана пользователем Tamchik, 5 июл 2011.

  1. Tamchik

    Tamchik Active Member

    Регистрация:
    10 мар 2010
    Сообщения:
    27
    Симпатии:
    0
    Дана форма с элементами mytabDataGridView, textBox1, и кнопка Найти.
    Подскажите как задать обработчик события (на C#) нажата кнопка НАЙТИ (Button_Click) для того чтобы в mytabDataGridView найти значенние введенное в текстовое поле textBox1.
     
  2. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Полагаю, задача состоит в поиске ячейки, содержащей искомые данные? Тогда что-то типа так:
    Код (Text):
    string value = textBox1.Text;

    bool cellFound = false;
    foreach(DataGridViewRow row in dataGridView.Rows)
    {
    foreach(DataGriViewCell cell in row.Cells)
    {
    if (cell.Value.ToString() == value)
    {
    dataGridView.CurrentCell = cell;
    cellFound = true;
    break;
    }
    }

    if (cellFound) break;
    }
    Вместо свойства Value можно проверять FormattedValue, т.е. отображаемое значение, а не то, что пришло из источника данных.
     
  3. Tamchik

    Tamchik Active Member

    Регистрация:
    10 мар 2010
    Сообщения:
    27
    Симпатии:
    0
    Спасибо попробую и этот код.
    Ну вобщем то у мя тож через применение циклов for получилось отыскать слово введенное в textBox1.
    Код (Text):
    private void button4_Click(object sender, EventArgs e)
    {

    for(int i = 0; i<студентыDataGridView.RowCount;i++)
    for(int j = 0; j<студентыDataGridView.RowCount;j++)
    if (студентыDataGridView[i, j].FormattedValue.ToString().Contains(textBox1.Text.Trim()))
    {
    студентыDataGridView.CurrentCell = студентыDataGridView[i, j];
    if(i<студентыDataGridView.RowCount-1)
    студентыDataGridView[i, j].Style.BackColor = Color.AliceBlue;
    студентыDataGridView[i, j].Style.ForeColor = Color.Blue;
    }


    }
     
Загрузка...

Поделиться этой страницей