Пример поиска по DataGriedView

code: #csharp
  1. /// <summary>
  2.             /// Поиск дебитора по DataGridVie
  3.             /// </summary>
  4.             List<DataGridViewRow> searchedRows;
  5.             int currentRow;
  6.         private void btn_search_Click(object sender, EventArgs e) //обработка события нажатия на кнопку Искать
  7.         {
  8.             searchedRows = new List<DataGridViewRow>();
  9.             string debName = txbx_searchedDebName.Text.Trim();
  10.             string debDataPassport = txbx_searchedDebDataPassport.Text.Trim();// ввод в текстбокс данных паспорта
  11.             string debPhoneNumber = txbx_searchedDebPhoneNumber.Text.Trim();//ввод в текстбокс номера телефона
  12.  
  13.             foreach (DataGridViewRow row in dgv_debitors.Rows) //выбор из DataGridView
  14.             {
  15.                 if (row.Cells["Name"].FormattedValue.ToString().Contains(debName) &&
  16.                     row.Cells["DataPassport"].FormattedValue.ToString().Contains(debDataPassport) &&
  17.                     row.Cells["PhoneNumber"].FormattedValue.ToString().Contains(debPhoneNumber))
  18.                     searchedRows.Add(row);
  19.             }
  20.             if (searchedRows.Count == 0)
  21.             {
  22.                 MessageBox.Show("По данному запросу ничего не найдено");
  23.                 btn_nextRow.Enabled = false; //нажатие на кнопку следующий по списку
  24.                 return;
  25.             }
  26.             MessageBox.Show("Найдено " +searchedRows.Count+ " записей");
  27.             btn_nextRow.Enabled = true;
  28.             currentRow = -1;
  29.             //переход на нужную ячейку
  30.             btn_nextRow_Click(null, null);
  31.         }
  32.         /// <summary>
  33.         /// Обработка события при нажатии кнопки Next
  34.         /// </summary>
  35.         /// <param name="sender"></param>
  36.         /// <param name="e"></param>
  37.         private void btn_nextRow_Click(object sender, EventArgs e)
  38.         {
  39.             if (currentRow == searchedRows.Count - 1)
  40.                 currentRow = -1;
  41.             currentRow++;
  42.             dgv_debitors.CurrentCell = searchedRows[currentRow].Cells[1];
  43.         }
Поделиться:

Похожие статьи: