.NET 2.x Прокрутка данных в DataGridView с поблочной загрузкой - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

День добрый, возникла необходимость перелистывания таблицы данных (из БД) в Datagridview, т.е. сначала отображаются первые 20 записей, потом следующие 20 и т.д. В данный момент использую тяжеловесную конструкцию, которая тормозит всю форму. Определяю на сколько страниц разбить все данные по 20 записей. Определяю текущую, передаю номера записей для выборки в запрос, выполняю запрос, заполняю датагрид. Все происходит по таймеру:
Листинг программы
  1. Dim OleReader As OleDb.OleDbDataReader
  2. Dim OM As New DataTable
  3. OM.Clear()
  4. Dim loadinfo As New OleDb.OleDbCommand
  5. loadinfo = New OleDb.OleDbCommand("SELECT * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY ФИО) [№],tbl.* FROM [SUP_120].[dbo].[osd_cur_month_cardsum_all] as tbl) seq WHERE seq.[№] BETWEEN " & r1 & " AND " & r2 & "", Dbcon)
  6. loadinfo.CommandType = CommandType.Text
  7. loadinfo.CommandTimeout = 9999
  8. Try
  9. OleReader = loadinfo.ExecuteReader
  10. OM.Load(OleReader)
  11. DGV_osd.DataSource = OM
Листинг программы
  1. If curpage = 0 Then
  2. r1 = 1
  3. r2 = 21
  4. curpage += 1
  5. load_osd_month()
  6. ElseIf curpage <= (pages - 1) Then
  7. r1 += 21
  8. r2 += 21
  9. curpage += 1
  10. load_osd_month() ###### функция куда передаются параметры для запроса
  11. Else
Думаю что можно после получения всех данных (выполнение запроса один раз) просто отрисовывать датагрид с нужными записями в таймере. Если я прав, то подскажите как это реализовать или есть какие другие варианты для поставленной задачи.

Решение задачи: «.NET 2.x Прокрутка данных в DataGridView с поблочной загрузкой»

textual
Листинг программы
  1. DataGridView2.DataSource = tb2
  2. For t = 0 To tb2.Rows.Count - 1 Step 20
  3.     DataGridView2.FirstDisplayedCell = DataGridView2.Rows(t).Cells(0)
  4.     Application.DoEvents()
  5.     Threading.Thread.Sleep(300)
  6. Next

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.733 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы