Данные читаются очень быстро с сервера sql, но отображаются слишком медленно на devexpress gridview - PullRequest
0 голосов
/ 05 декабря 2018

Я использую vb.net 2017, Entity Framework 6 с SQL Server 2008r2.

В моей форме у меня есть devexpress gridview.Вид сетки привязан к Bindingsource (MyBindingsource) во время разработки.

Моя таблица в базе данных содержит около 2300 записей.

Во время выполнения у меня есть этот код:

....

dim myquery as ienumerable(of Myobject)
myQuery=From t in Context.Myobject select t
Mybindingsource.Datasource=Myquery.Tolist

все эти инструкции выполняются мгновенно, и я проверил, что запрос содержит все 2300 записей, но после этого требуется 4 минуты для отображения всех записей в Gridview.

Что я могу сделать?

Спасибо!

Обновление

Я исследовал все события, которые я использую с моей сеткойи я обнаружил, что все проблемы были вызваны этим:

Private Sub gridView_CustomRowFilter(sender As Object, e As    DevExpress.XtraGrid.Views.Base.RowFilterEventArgs)
    Dim gridr As Object = gridView.GetRow(e.ListSourceRow)

    e.Visible = IsNothing(gridr) OrElse context.Entry(gridr).State <> Entity.EntityState.Deleted
    e.Handled = True
End Sub

С маленькими данными нет проблем, и именно поэтому я не заметил раньше.Но мне нужно это событие, потому что, когда пользователь удаляет запись, я не удаляю ее из bindingsource до тех пор, пока не будет нажата кнопка «Сохранить», но хочу скрыть ее от вида сетки.

Что я могу сделать?

Спасибо!

...