Полнотекстовый поиск в связанном элементе управления DataGridView - PullRequest
0 голосов
/ 02 декабря 2009

Я не могу найти способ выполнить полнотекстовый поиск по элементу управления DataGridView с привязкой к данным по всему дыханию его столбцов и строк.

Объекты DataTable и DataView, похоже, заставляют меня искать конкретные столбцы с помощью Select (), Find () или FindRows (). То же самое с элементом управления DataGridView.

У меня есть одна строка поиска, и мне нужно запустить ее для всего содержимого DataGridView. Я уверен, что ответ лежит где-то рядом. Но я не могу найти его на этом этапе обучения в C # и .Net Framework.


Это мое текущее решение, которого я бы хотел избежать:

/*...*/

for (int i = found_last_row + 1; i < dataGridRes.Rows.Count; ++i)
{
    for (int j = 0; j < dataGridRes.Columns.Count; j++) 
    {
        if(dataGridRes.Rows[i].Cells[j].Value.ToString().Contains(search_last_str.))
        {
            dataGridRes.Rows[i].Selected = true;
            dataGridRes.FirstDisplayedScrollingRowIndex = i;

            found_last_row = i;
            break;
        }
    }
}

/* ...*/

1 Ответ

0 голосов
/ 02 декабря 2009

Я думаю, что общий подход заключается в поиске исходных данных (не в сетке), а затем повторной привязки, чтобы показать только совпадения. Если вы используете пейджинг, сетка извлекает данные постранично из базы данных, поэтому вы будете искать только ту страницу, которую видите в данный момент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...