2014-10-21 9 views
0

У меня есть небольшое приложение, имеющее datagridview и Access DB. В базе данных 10 записей, и все они отображаются в представлении datagridview при запуске приложения. Мне нужно иметь возможность делать две вещи:Отображение одной записи в datagridview из базы данных доступа vb.net

  1. Мне нужно указать номер идентификатора в текстовом поле и просто показать эту запись в DGV.
  2. Мне нужно, чтобы он снова показывал все записи (используя, конечно, другое событие клика).

Я могу выбрать запись с этим:

Dim row As DataRow 
     row = ProductsDataSet.tblProducts.FindByItemNum(txtNumber.Text) 

, но я не могу понять, как показать только, что запись в DGV. (Позвольте мне пояснить ... Я ДУМАЮ, Я выбираю запись просто потому, что не выбрасываются исключения).

Любые указания здесь были бы очень признательны. Спасибо.

Джон

+1

Просто нанесите/удалить фильтр к DefaultView из источника данных, который привязана к какому сетке – Steve

ответ

1

Опцион является установка DataSource вашего DataGridView на данные, которые вы хотели бы, чтобы отобразить. Ниже приведена реализация с использованием dataTables.

Class MyForm 

Dim dataTableAll, dataTableOneID, As DataTable 

Sub show1ID_Click 
Dim id As Integer = InputBox("Enter ID") 
dataTable2 = dataTable1.Select("[ID] = id").CopyToTable 
dataGridView.DataSource = dataTableOneID 
End Sub 

Sub showAll_Click 
dataGridView.DataSource = dataTableAll 
End Sub 

End Class 
+0

Грег, спасибо большое за быстрый ответ. У меня все еще есть проблемы, потому что я не могу найти имя «dataTable1» (я не знаю имя моего datatable и не могу его найти) – JohnB

+0

Извините, мой отредактированный ответ не смог переименовать оба вхождения имени таблицы. Выше это работает для вас сейчас? Обратите внимание, что dataTableAll - это только те данные, которые у вас уже есть, предположительно заполненные из вашей базы данных доступа. – Greg

+0

Не обращайте внимания, я заработал. Еще раз спасибо! – JohnB

Смежные вопросы