Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Optimizar un Gridview

Estas en el tema de Optimizar un Gridview en el foro de Visual Basic clásico en Foros del Web. Hola: Tengo una aplicacion que utiliza un grid view que se llena con un dataset tipado pero se despliega con una velocidad exasperantemente lenta, estoy ...
  #1 (permalink)  
Antiguo 13/02/2009, 10:31
Avatar de devel  
Fecha de Ingreso: mayo-2008
Mensajes: 20
Antigüedad: 16 años
Puntos: 0
Información Optimizar un Gridview

Hola:

Tengo una aplicacion que utiliza un grid view que se llena con un dataset tipado pero se despliega con una velocidad exasperantemente lenta, estoy seguro que se puede optimizar pero no se como tal vez alguno de ustedes tenga alguna sugenencia los resultados que despliega son 618

Es un Grid view que se llena a partir de un Object Data Source
que llama a esta funcion

Public Function Fill() As ICollection(Of Cliente)

Dim Al As New List(Of Cliente)

Dim Cn As New ConnectionSolver
Dim Rdr As Object
'Hay que escribir el stored procedure
Dim cmd As String = "SpAllClientes"


Try
Rdr = Cn.Query(cmd)

Do Until Rdr.EOF
Al.Add(New Cliente(Rdr("IDCliente").Value))
Rdr.MoveNext()
Loop
Finally
Cn.Connection.Close()
End Try

Return Al
End Function

La funcion que Crea el Objeto Cliente es esta

Public Sub New(ByVal Id As Integer)
If Id = 0 Then
_PK = 0
_Nombre = ""
_Direccion = ""
_Ciudad = ""
_Estado = 0
_Pais = 0
_RFC = ""
_Telefono = ""
_Lada = ""
_Extension = ""
_Fax = ""
_PaginaWeb = ""
Exit Sub
End If
Dim Cn As New ConnectionSolver
Dim Qry As String = "Select * From Clientes Where Clientes.IDCliente = " & Id
Dim Rs As Object

Try
Rs = Cn.Query(Qry)
If Not Rs.EOF And Not Rs.BOF Then
_PK = IsNullCero(Rs("IDCliente").Value())
_Nombre = IsNull(Rs("Nombre").Value())
_Direccion = IsNull(Rs("Direccion").Value())
_Ciudad = IsNull(Rs("Ciudad").Value())
_Estado = IsNullCero(Rs("Estado").Value())
_Pais = IsNullCero(Rs("Pais").Value())
_RFC = IsNull(Rs("Rfc").Value())
_Telefono = IsNull(Rs("Telefono").Value())
_Lada = IsNull(Rs("Lada").Value())
_Extension = IsNull(Rs("Extension").Value())
_Fax = IsNull(Rs("Fax").Value())
_PaginaWeb = IsNull(Rs("PaginaWeb").Value())
Else
_PK = 0
_NombreCorto = ""
_Nombre = ""
_Direccion = ""
_Ciudad = ""
_Estado = 0
_Pais = 0
_RFC = ""
_Telefono = ""
_Lada = ""
_Extension = ""
_Fax = ""
_PaginaWeb = ""
End If
Finally
Sica.Connection.Close()
End Try
End Sub

Esto es lo que Hace ConnectionSolver
Public Connection As Object = CreateObject("ADODB.Connection")

Public Function Query(ByVal QS As String) As Object
Dim Recordset As Object = CreateObject("ADODB.Recordset")
Connection.Open(ConnectionString)
Recordset.Open(QS, Connection)
Query = Recordset
End Function

Todo funciona correctamente solamente que es muuuuuuuuuy lento

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:17.