
06/10/2008, 16:07
|
 | | | Fecha de Ingreso: febrero-2008 Ubicación: Medellín
Mensajes: 336
Antigüedad: 17 años, 2 meses Puntos: 56 | |
Respuesta: Duda con MsFlexGrid Hola ya encontre la solucion.
La pongo por si a alguien le sirve
Codigo:
En un boton se puede colocar el call Ajustar_Columnas(MSHFlexGrid) o en donde lo necesiten
'Sub para recorrer el FlexGRid y ajustar las columnas
'''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''
Private Sub Ajustar_Columnas(MSHFlexGrid)
On Local Error GoTo ErrSub
'Para las filas y columnas del Flexgrid
Dim Columna As Integer, Fila As Long
'Matriz y variable para los anchos de columna
Dim Ancho_Columna() As Single
Dim Col_Width As Single
'Redimensionar el Array a la cantidad de columnas
ReDim Ancho_Columna(0 To FGrid.Cols - 1)
'Recorrer las columnas para almacenar el ancho
For Columna = 0 To FGrid.Cols - 1
'Guarda el ancho de la columna en la matriz
Ancho_Columna(Columna) = TextWidth(FGrid.TextMatrix(0, Columna))
Next Columna
'Recorrer todas las filas del FlexGRid
For Fila = 1 To FGrid.Rows - 1
'Recorrer todas las Columnas
For Columna = 0 To FGrid.Cols - 1
' Almacenar el ancho de la columna actual
Col_Width = TextWidth(FGrid.TextMatrix(Fila, Columna))
'Comparar cual es mayor
If Ancho_Columna(Columna) < Col_Width Then
Ancho_Columna(Columna) = Col_Width
End If
Next
Next
' Establecer los anchos de columna al FlexGRid _
con la propiedad ColWidth
For Columna = 0 To FGrid.Cols - 1
FGrid.ColWidth(Columna) = Ancho_Columna(Columna) + 240
Next
Exit Sub
'Error
ErrSub:
MsgBox Err.Description, vbCritical
FGrid.Redraw = True
End Sub |