Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: lucius en Octubre 01, 2011, 12:09:32 am

Título: Como mejorar esta funcion para ordenar un Datagrid
Publicado por: lucius en Octubre 01, 2011, 12:09:32 am
Necesito ordenar las columnas de un datagrid al hacerle click en la cabecera de cada campo, encontre este codigo y funciona pero tengo 10 formularios y tendria que copiar el codigo en cada uno sin mencionar que el numero de campos de cada tabla es diferente, en el ejemplo que coloco es para cuando hay 2 campos.

Estoy intentando crear una funcion en un .bas que funcione mas o menos asi pero no he tenido buenos resultados, todavia estoy verde:
Funcion_Ordenar_cabecera(MiRecordset as recordset,NumeroDeCampos as integer)

Código: [Seleccionar]

Dim tb1_rs as Recordset
Private Sub Datagrid1_HeadClick(ByVal ColIndex As Integer)
With tb1_rs
     If (.Sort = .Fields(ColIndex).[Name] & " Asc") Then
        .Sort = .Fields(ColIndex).[Name] & " Desc"
     Else
        .Sort = .Fields(ColIndex).[Name] & " Asc"
     End If
End With
End Sub
Título: Re:Como mejorar esta funcion para ordenar un Datagrid
Publicado por: YAcosta en Octubre 01, 2011, 12:16:50 am
No uso Datagrid, uso el MSHFlexgrid, y para ordenar uso también una función que ordena el grid, pero en la función le paso también el control. No te sirve pasarle el control a tu función también?. De esta manera solo repites una linea de código (la que llama a la función).

Título: Re:Como mejorar esta funcion para ordenar un Datagrid
Publicado por: lucius en Octubre 01, 2011, 12:30:36 am
Si podria pasarle como parametro el control para hacerlo en una sola linea al parecer tuve un lapsus brutus.