J'utilise un DataGridView pour charger des données à partir d'un DataTable. Cette DataGridView se trouve sur un onglet (Forms.TabPage). Lorsque vous cliquez sur cet onglet, le DataGrid prend une seconde ou deux à tirer de haut en bas, indépendamment du fait que les données sont chargées ou non.Dessin/Rendu DataGridView Lent
Y a-t-il quelque chose que je puisse faire pour accélérer le dessin \ rendu lorsque je clique sur l'onglet?
Je ne pense pas que la population réelle de la DGV en soit la cause, car elle est remplie lors du chargement du formulaire, de sorte qu'au moment où les onglets cliquaient, les quelques rangées (20 à 30) s'affichaient.
Using cn As New SqlConnection(connectionString)
Using cmd As SqlCommand = cn.CreateCommand()
cmd.CommandType = System.Data.CommandType.Text
cmd.CommandText = _
" SELECT [finish_time], [file_name], [transfer_status]" & _
" FROM dbo.[transfer_log]"
cmd.Notification = Nothing
cn.Open()
Dim columnSpec = New DataColumn()
With columnSpec
.DataType = GetType(System.String)
.ColumnName = "ClmFinishTime"
End With
Datatable1.Columns.Add(columnSpec)
Dim columnSpec2 = New DataColumn()
With columnSpec2
.DataType = GetType(System.String)
.ColumnName = "ClmFilename"
End With
Datatable1.Columns.Add(columnSpec2)
Dim columnSpec3 = New DataColumn()
With columnSpec3
.DataType = GetType(System.Byte())
.ColumnName = "ClmStatus"
End With
Datatable1.Columns.Add(columnSpec3)
Using dr As SqlDataReader = cmd.ExecuteReader()
While dr.Read()
Dim row As DataRow = Datatable1.NewRow
row("ClmFinishTime") = dr.Item("finish_time")
row("ClmFilename") = dr.Item("file_name")
Select Case dr.Item("transfer_status")
Case 0
row("ClmStatus") = ConvertToByte(My.Resources.accept)
Case 1
row("ClmStatus") = ConvertToByte(My.Resources.remove)
End Select
Datatable1.Rows.Add(row)
End While
End Using
End Using
DataGridView2.AutoGenerateColumns = False
DataGridView2.DataSource = Datatable1
Si je commente "DataGridView2.DataSource = Datatable1" c'est bien (instantané) donc cela doit être dû à la façon dont je construis la source de données pour ajouter les icônes à la place de la colonne retournée ClmStatus. Aucune suggestion? – madlan