Duda con S-Grid de VB Accelerator

Iniciado por luison, 19 Agosto 2009, 18:17 PM

0 Miembros y 1 Visitante están viendo este tema.

luison

Hola saludos¡

Para los que han usado el S-Grid  aun no encuentro la forma de aisgnarle un width a las columnas, hasta ahora he venido utilizando la propiedad  'AutoWidthColumn', pero esto solo pone el width de acuerdo al contenido devuelto en el recordset para cada celda. El detalle es que a veces el nombre del encabezado no es legible cuado el contenido de la celda es pequeño, ejemplo:

Codigo de Barras    Descripcion
        1                     Ego de Brut

Ahi el AutowidthColumn del codigo de barras es 1, y no es legible el encabezado.

Será que no se puede asignar una ancho de columna como en el Listview estandar del vb o no logro encontrarlo?   :¬¬

Espero me haya explicado, enseguida viene el code que estoy manejando:




Código (vb) [Seleccionar]

Public Function LoadServicios()
    On Error GoTo Error_Handler
   
    ' -----------------------------------------------
    ' -- Crear nuevo recordset
       Dim rs As New Recordset
    ' -- Cargar la tabla
    ' -----------------------------------------------
       
        Set rs = Conexion.Execute("Una consulta cualquiera'")
               
       If rs.EOF = False Then
        Dim iCol   As Integer
        ' -- Setear Grid
        ' -------------------------------------------
        With vbGrid
        .Clear True
            '.ImageList = vbalImageList2
             .GridLines = True                       ' -- Mostrar Lineas divisorias
             .RowMode = True                         ' -- Seleccionar fila completa
             .HotTrack = False
            ' -- Deshabilitar Redraw para agilizar la carga
              '.AlternateRowBackColor = vbButtonFace
             .Redraw = False
            DoEvents
           
            ' -- Agregar columna para el icono del producto ( Hacerla fija -- Valor FixedWidth)
            ' ----------------------------------------
            '.AddColumn "icono", "", , , 34, , True
           
            ' -- Agregar columnas al Grid - Caption, la clave
            ' ----------------------------------------
            For iCol = 0 To rs.Fields.Count - 1
                 Call .AddColumn(rs(iCol).Name, rs(iCol).Name)
                 '.ColumnWidth = 50
                 
               
            Next
           
            ' -- Recorrer el rs
            ' -----------------------------------------
           Do While Not rs.EOF
                ' -- Nueva fila
                .AddRow
                ' -- Cargar la primer celda -- El icono
                'Call .CellDetails(.Rows, .ColumnIndex("icono"), , DT_CENTER, 0)
                ' -- recorrer las demás celdas
                For iCol = 1 To .Columns
                    ' -- Comprobar que el dato no sea un Null
                    If Not IsNull(rs(iCol - 1)) Then
                        ' -- Agregar el dato
                        Call .CellDetails(.Rows, .ColumnIndex(rs(iCol - 1).Name), rs(iCol - 1))
                        .AutoWidthColumn (iCol)
                    End If
                Next
                ' -- Alto de filas = al del icono + 4 pixeles
                ' .DefaultRowHeight = 4 'vbalImageList2.IconSizeX + 4
                ' -- Siguiente registro
                rs.MoveNext
            Loop
            ' -- Importante !! Habilitar nuevamente el Redraw
            ' --------------------------------------------
            .Redraw = True
             DoEvents
        End With
        'consulta = ""
       
        Else
            'msj "¡ NO SE ENCONTRO INFORMACION !"
            'txtDato.Text = "": txtDato.SetFocus
            Exit Function
        End If
        ' -- Cerrar
        rs.Close
        Set rs = Nothing
        ' -- Errores
        Exit Function
Error_Handler:
        MsgBox Err.Description, vbCritical, "Error al Cargar Servicios"
End Function


luison

Caballeros, gracias por leer el post, acabo de solucionar mi problema, al parecer, al registrar los ocx y dll que vienen con el control, se registraron con error, pues no me aparecia la propiedad ColumnWidth, con la cual solucioné el detalle.

Gracias. Luison  :)