Добавление иерархии в RadGridView замедляет время загрузки приложения - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь повысить производительность приложения, над которым я работаю.

Мой DoWork получает мои данные.

Private Sub Bgw_GetTasks_DoWork(sender As Object, e As DoWorkEventArgs)
    TasksDS = GetDataFromSQL("[dbo].[GetTasks]")
End Sub

Мой RunWorkerCompleted.

 Private Sub Bgw_GetTasks_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs)

    If TasksDS.Tables.Count > 1 Then

        rgv_TasksGrid.DataSource = TasksDS.Tables(0).DefaultView

        Dim taskLinesTemplate As New GridViewTemplate With {
            .DataSource = TasksDS.Tables(1)
        }
        rgv_TasksGrid.MasterTemplate.Templates.Add(taskLinesTemplate)

        Dim relation As New GridViewRelation(rgv_TasksGrid.MasterTemplate) With {
        .ChildTemplate = taskLinesTemplate,
        .RelationName = "TaskOrderLines"
        }

        relation.ParentColumnNames.Add("Order No")
        relation.ChildColumnNames.Add("order_no")
        rgv_TasksGrid.Relations.Add(relation)

        rgv_TasksGrid.Templates(0).EnableGrouping = False
        rgv_TasksGrid.Templates(0).AllowEditRow = False
        rgv_TasksGrid.Templates(0).AllowAddNewRow = False
        rgv_TasksGrid.Templates(0).AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill

        For Each col As GridViewDataColumn In rgv_TasksGrid.Columns
            If Not (col.Name = "Order No" Or
                col.Name = "Order Val" Or
                col.Name = "Pick Val" Or
                col.Name = "Pick Profit" Or
                col.Name = "Customer" Or
                col.Name = "Customer Name" Or
                col.Name = "Task Type" Or
                col.Name = "Note" Or
                col.Name = "Followup Date" Or
                col.Name = "Rep" Or
                col.Name = "CO") Then
                col.IsVisible = False
            End If
        Next
    End If
End Sub

Моя хранимая процедура в настоящее время занимает около 8 секунд. Иерархия добавляет примерно 5-10 секунд ко времени загрузки.

Есть ли способ, которым я могу улучшить это.

...