Пишу проект на VB.NET. Мне необходимо отобразить выборку склада производственного предприятия из БД за год. Все бы ничего, да вот только записей при этом выводится около 50 000. При отрисовки гридом набора записей, соответственно, начинаются жуткие тормоза. Таблицу заполняю следующим кодом:
- Код: Выделить всё
'Настройка грида
DataGridView1.ReadOnly = True
DataGridView1.AllowUserToAddRows = False
DataGridView1.AllowUserToDeleteRows = False
DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader
DataGridView1.MultiSelect = False
'Создание подключения
Dim strCon As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\technology.mdb;"
Dim cn As New System.Data.OleDb.OleDbConnection(strCon)
'Создание объекта Command
Dim strSQL As String = "SELECT * FROM vw_Izd"
Dim cmdDocuments As New System.Data.OleDb.OleDbCommand(strSQL, cn)
'Выполнение запроса
Dim Reader As System.Data.OleDb.OleDbDataReader
cn.Open()
Reader = cmdDocuments.ExecuteReader()
Тормозит отрисовка грида здесь:
- Код: Выделить всё
'Отрисовка данных в гриде
Dim tbl As New DataTable("Table")
tbl.Load(Reader)
cn.Close()
DataGridView1.DataSource = tbl
В статье
http://www.rsdn.ru/article/dotnet/DataGridView20.xml
Упоминается, что DataGridView может использоваться в виртуальном режиме. При этом данные из БД будут подтягиваться по мере необходимости, не загружая ресурсов. Много гуглил, так и не смог реализовать данный механизм.
Уважаемые, помогите плиз реализовать сей механизм, либо еще какой, чтобы данные выводились быстро. Ведь в VB6.0 такой проблемы не было.
Прошу прощения за "избитую" тему