Имеется база данных из нее вытаскивается таблица, но не вся, а только нужные поля для отображения.
Как запихать все это в DataGrid я знаю и знаю несколько способов, но тут задача несколько другая, нужно получить что-то типа того что на данном скриншоте:
Как бы странно это не звучало, но скриншот сделан с моей программы и вы конечно подумаете зачем я тогда вас спрашиваю как это сделать, но меня интересует как это сделать ПРАВИЛЬНО, т.е. с наименьшей нагрузкой на железо.
Как делаю я (только не кидайте камнями, я только учусь):
1) выгружаю таблицу
2) прохожу по всем записям таблицы
2.1) добавляю по одной записи в DataGrid, добавляя в нужные поля картинки (они для удобного управления)
2.2) изменяю цвета ячеек последней добавленной записи
код выглядит примерно так:
Dim d_Table As DataTable
Dim d_Row As DataGridViewRow
d_Table = Orders_GetTable(GetFilter(cOrder.sREAD), GetParams(cOrder.sREAD))
For i As Integer = 0 To d_Table.Rows.Count - 1
dgv_Orders.Rows.Add(New Object() {d_Table(i).Item(0), d_Table(i).Item(1), "", d_Table(i).Item(2), d_Table(i).Item(3), d_Table(i).Item(4), "", d_Table(i).Item(5), My.Resources.stat_11, My.Resources.order_edit, My.Resources.order_delete})
d_Row = dgv_Orders.Rows(dgv_Orders.Rows.Count - 1)
If Sett.Orders.VisibleColor = True Then
d_Row.Cells(1).Style.BackColor = Color1
d_Row.Cells(2).Style.BackColor = Color0
d_Row.Cells(6).Style.BackColor = Color0
End If
NextПросто на моем рабочем компьюторе (впринципе уже стареньком) все работает быстро на 10 записях иногда мерцает при обновлении, но на более слабых (на пенках) даже при 10 записях уже идет плавная отрисовка, вот почему я и задался вопросом по оптимизации данного момента.
Можно ли как-нибудь это оптимизировать или хотя бы скрыть на время отрисовку, чтоб сразу показывался результат?
Но лучше подскажите по оптимизации.




(на слабых машинах конечно)