Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado 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)
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
-
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).
-
Si podria pasarle como parametro el control para hacerlo en una sola linea al parecer tuve un lapsus brutus.