Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Поиск записей/строки


Автор: Redstuff 11.8.2007, 13:18
Подскажите как организовать поиск строки в таблице.
Есть dataGrid, textBox. При вводе в textBox запроса необходимо чтобы в dataGrid курсор смещался на найденое значение.

На мсдн нашел такое
Код

dataView1.Sort = "au_lname";
int foundIndex = dataView1.Find(txtSearch.Text);

связал datagrid с dataview но поис не работаешь что-то...

Автор: Idsa 11.8.2007, 15:56
А DataGrid у тебя как заполняется: binding (DataSource) или вручную?

Автор: tol05 11.8.2007, 16:01
ты нашел индекс нужной строки. Теперь нужно гриду приказать сделать ее выбранной.

myDataGridView.Rows[foundIndex].Selected = true;

Также, можно по индексу строки и ячеки, работать с ячейкой. Если ты знаешь индекс строки, то можно установить myDataGridView.CurrentRow, если еще и индекс ячейки нашел - то тогда и myDataGridView.СurrentCell

Автор: Idsa 11.8.2007, 17:08
Цитата(Redstuff @  11.8.2007,  13:18 Найти цитируемый пост)
связал datagrid с dataview но поис не работаешь что-то... 

Метод DataView.Find() осуществляет поиск по сортируемому столбцу (если сортировка не производится, вызывается исключение). Поэтому в данном случае поиск будет осуществляться по полю "au_lname". Это учтено?

Автор: Redstuff 11.8.2007, 17:22
Idsa, binding (DataSource) - заполняется

tol05, спасибо! Только это выделение строки а не смещение на нее курсора. Мне потом надо будет ее обрабатывать.

Добавлено через 1 минуту и 41 секунду
Idsa, да учтено. Я ищу именно по этому столбцу. В DataView в свойсве Sort указан этот столбец.

Автор: tol05 11.8.2007, 18:22
Redstuff, не за что! smile
Цитата(Redstuff @  11.8.2007,  17:22 Найти цитируемый пост)
Только это выделение строки а не смещение на нее курсора. Мне потом надо будет ее обрабатывать

Скажи мне пожалуйста, а что, 
Код

myDataGridView.CurrentCell = myDataGridView.Rows[foundIndex].Cells[foundIndex];

или
Код

myDataGridView.CurrentRow = myDataGridView.Rows[foundIndex];

курсор не смещают?
Я вроде писал про это


Автор: Redstuff 11.8.2007, 19:26
tol05, спасибо! я не правильно применял (

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)