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

Ordenar Datagrid clickeando en la cabecera VB6

Estas en el tema de Ordenar Datagrid clickeando en la cabecera VB6 en el foro de Visual Basic clásico en Foros del Web. Alguien me podria decir como hacer que el datagrid me realice un ordenamiento de los datos segun yo clickee en las cabeceras de este. Justo ...
  #1 (permalink)  
Antiguo 05/03/2005, 22:09
 
Fecha de Ingreso: junio-2004
Mensajes: 392
Antigüedad: 19 años, 10 meses
Puntos: 0
Ordenar Datagrid clickeando en la cabecera VB6

Alguien me podria decir como hacer que el datagrid me realice un ordenamiento de los datos segun yo clickee en las cabeceras de este. Justo como se realiza en la vista en detalles en el explorador de windows,... cuando clickeas la cabecera de nombre, se ordenan los archivos por nombre de manera descendente y si clikeas otra vez se ordena de manera ascendente, igual que con las demas columnas.

Me gustaria hacer los mismo en Visual Basic 6.
Gracias
  #2 (permalink)  
Antiguo 07/03/2005, 21:08
 
Fecha de Ingreso: junio-2004
Mensajes: 392
Antigüedad: 19 años, 10 meses
Puntos: 0
Si nadie sabe, por lo menos digan: "No se".

Gracias
  #3 (permalink)  
Antiguo 17/03/2005, 11:29
 
Fecha de Ingreso: marzo-2005
Mensajes: 51
Antigüedad: 19 años, 1 mes
Puntos: 0
Ordenar Datagrid

Hola, yo encontre una forma de ordenar el grid, lo hice utilizando un control DataGrid enlazado a un control Adodc

Private Sub GridResumen_HeadClick(ByVal ColIndex As Integer)
Dim CampoOrden As String
CampoOrden = " ORDER BY " & GridResumen.Columns(ColIndex).DataField
Adodc2.CommandType = adCmdText
Adodc2.RecordSource = "Select * from rsTabla " & CampoOrden
Adodc2.Refresh
End Sub

Saludos

Carmen Arvelo
  #4 (permalink)  
Antiguo 17/03/2005, 11:34
Avatar de jrp01  
Fecha de Ingreso: mayo-2004
Ubicación: México
Mensajes: 2.702
Antigüedad: 20 años
Puntos: 0
O tambien por ADO solo vuelves a llenar el recordset y lo asignas al datagrid, el que si se como es con un listview y no hay necesidad de volver a cargarlo
  #5 (permalink)  
Antiguo 21/03/2005, 20:04
 
Fecha de Ingreso: diciembre-2004
Mensajes: 56
Antigüedad: 19 años, 4 meses
Puntos: 0
Hola chicos, sabes si esto es posible realizarlo también con el MSFlexGrid???
  #6 (permalink)  
Antiguo 21/03/2005, 20:36
 
Fecha de Ingreso: junio-2004
Mensajes: 392
Antigüedad: 19 años, 10 meses
Puntos: 0
Gracias Bebecita, no me habia dado cuenta de ese evento . Ahora si lo puedo hacer.

Muchas gracias
  #7 (permalink)  
Antiguo 22/03/2005, 14:14
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Esta forma es mas sencilla:

Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
With Adodc1.Recordset
If (.Sort = .Fields(ColIndex).[Name] & " Asc") Then
.Sort = .Fields(ColIndex).[Name] & " Desc"
Else
.Sort = .Fields(ColIndex).[Name] & " Asc"
End If
End With
End Sub

Pruebalo...
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #8 (permalink)  
Antiguo 22/03/2005, 19:58
 
Fecha de Ingreso: junio-2004
Mensajes: 392
Antigüedad: 19 años, 10 meses
Puntos: 0
Si de esa forma funciona, seguro que es mas sencillo.

Lo voy a probar , gracias.
  #9 (permalink)  
Antiguo 24/02/2011, 09:50
Avatar de elfkampher  
Fecha de Ingreso: febrero-2011
Ubicación: Queretaro, Mexico
Mensajes: 35
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Ordenar Datagrid clickeando en la cabecera VB6

Cita:
Iniciado por vbx3m Ver Mensaje
Esta forma es mas sencilla:

Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
With Adodc1.Recordset
If (.Sort = .Fields(ColIndex).[Name] & " Asc") Then
.Sort = .Fields(ColIndex).[Name] & " Desc"
Else
.Sort = .Fields(ColIndex).[Name] & " Asc"
End If
End With
End Sub

Pruebalo...
intente usar esto para mi datagrid pero me sale un error
error 3265 en tiempo de ejecucion:
No se ecnontro el elemento de la coleccion que corresponde al nombre
o el ordinal solicitado
tengo que declarar alguna variable antes? te agradeceria mucho tu ayuda
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




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