powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Поиск индекса нужной строки в DataView
2 сообщений из 2, страница 1 из 1
Поиск индекса нужной строки в DataView
    #36584079
ProExcept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Столкнулся с проблемой. Есть TextBox и DataGridView с привязанной из БД таблицей (через DataSet). Собственно задача - необходимо чтобы при вводе в TextBox какого-либо символа происходил поиск по одному из столбцов DataGridView. Например в этом столбце есть имена (Андрей, Василий, Виктор, Константин), вводим в TextBox букву 'В' и выделяется (именно выделяется, а не фильтруется) строка с именем "Василий" (т.е. первая удовлетворяющая запросу). Проще говоря нужно определить индекс строки с необходимым условием. Копал в сторону DataView.RowFilter и DataView.Find(), но безрезультатно... Нашел полезную инфу в МСДНе:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
DataView custView = new DataView(custDS.Tables["Customers"], "", 
  "CompanyName", DataViewRowState.CurrentRows);

int rowIndex = custView.Find("The Cracker Box");

if (rowIndex == -1)
  Console.WriteLine("No match found.");
else
  Console.WriteLine("{0}, {1}",
    custView[rowIndex]["CustomerID"].ToString(),
    custView[rowIndex]["CompanyName"].ToString());

Однако в данном случае этот способ неприменим, поскольку необходим запрос типа "column1 LIKE 'В%'", а не обычный строковый "The Cracker Box")))... Хелп!
...
Рейтинг: 0 / 0
Поиск индекса нужной строки в DataView
    #36670118
ant_ba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DGView - сетка, tbFind - поле,
ic - индекс столбца в котором искать.

правда ищет в гриде, а не в dataview`e

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 
private void tbFind_TextChanged(object sender, EventArgs e)
{
      if(tbFind.Text != "") FRow(tbFind.Text);
       else  DGView.CurrentCell = null;
}

private void FRow(string txt)
 {
    if (DGView.RowCount >= 1)
        for (int i = 0; i < DGView.RowCount;i++ )
              if (DGView.Rows[i].Cells[ic].Value.ToString().ToLower().IndexOf(tbFind.Text.ToLower()) == 0)
                   DGView.CurrentCell = dgSprav.Rows[i].Cells[0];
}
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Поиск индекса нужной строки в DataView
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]