MSFlexGrid de Visual Basic

klowlead Mensajes publicados 11 Estado Miembro -  
wokerm Mensajes publicados 45 Estado Miembro -
Hola a todos (y todas)

¿Alguien podría explicarme cómo funciona un Flexgrid? Sé que puedo hacer cosas con las propiedades Row, Col y Text, pero no sé cómo utilizarlas y no conozco la sintaxis.
Me gustaría dar títulos a mis columnas y alimentar cada fila de la cuadrícula con registros de una tabla (con recordset).
Si alguien pudiera darme algunos trucos, se lo agradecería. Estoy trabajando en VB6.
Gracias.

5 respuestas

  1. Mayno
     
    Hola a todos

    tengo un MSFlexGrid lleno de resultados de búsqueda de una base de datos, ¿hay alguien que me pueda decir el método para calcular el número de resultados que se muestran en el MSFlexGrid?

    gracias a todos
    2
    1. Tana
       
      MSFlexGrid.Rows calcula el número de filas
      si quieres calcular la suma de los datos de la primera columna de tu MSFlexGrid
      for i=1 to MSFlexGrid.Rows-1
      cel=MSFlexGrid.matrix(i,0)
      s=s+cel
      next

      entonces s contiene la suma.
      0
  2. rudy
     
    Hola klowlead,

    Quizás esta sea una primera aproximación a tu pregunta:
    en la forma en que has colocado tu MsFlexGrid, con un clic derecho sobre ella, define en las propiedades: el número de filas y el número de columnas. Coloca 1 en la zona "Fixed row".
    Esta fila fija te servirá más tarde para indicar los encabezados de columna. Para alimentar tus encabezados:

    .MaGrid.Clear
    .MaGrid.Rows = 1
    .MaGrid.Row = .GridAgents.Rows - 1
    MaGrid.Col = 0: MaGrid.ColWidth(0) = 2000: MaGrid = "Nombre"
    MaGrid.Col = 1: MaGrid.ColWidth(1) = 2000: MaGrid= "Apellido"
    MaGrid.Col = 2: MaGrid.ColWidth(2) = 900: MaGrid = "Fecha nac."
    MaGrid.Col = 3: MaGrid.ColWidth(3) = 1000: MaGrid = "Empleador"
    MaGrid.Col = 4: MaGrid.ColWidth(4) = 1100: MaGrid = "Num. médico"
    MaGrid.Col = 5: MaGrid.ColWidth(5) = 3000: MaGrid= "Localidad"

    .......

    Luego creas tu orden SQL que te permite buscar las zonas que necesitas para mostrar en tu grid.

    If Not EOF Then

    Do Until EOF
    .MaGrid.Rows = .MaGrid.Rows + 1
    .MaGrid.Row = .MaGrid.Rows - 1
    MaGrid.Col = 0: MaForme.MaGrid = zona archivo (proveniente de SQL)
    MaGrid.Col = 1: MaForme.MaGrid = zona archivo

    ......

    MoveNext
    Loop
    End If

    Ahí tienes, intenta primero con estas pequeñas notas (que espero sean lo suficientemente claras).

    Buena suerte,

    Rudy.
    1
    1. klowlead
       
      Hola Rudy, gracias por tu respuesta, encontré lo que quería hacer mientras tanto. Aquí hay una parte del código que hice para mi aplicación por si puede ayudar a alguien:


      Private Sub Form_Load()

      MSFlexGrid1.Cols = 4
      MSFlexGrid1.FixedCols = 0

      rsSession.MoveFirst

      MSFlexGrid1.ColWidth(0) = 1500
      MSFlexGrid1.ColWidth(1) = 1500
      MSFlexGrid1.ColWidth(2) = 1700
      MSFlexGrid1.ColWidth(3) = 1500


      MSFlexGrid1.Row = 0
      MSFlexGrid1.Text = "Código de sesión"
      MSFlexGrid1.Col = 1
      MSFlexGrid1.Row = 0
      MSFlexGrid1.Text = "Código de etapa"
      MSFlexGrid1.Col = 2
      MSFlexGrid1.Row = 0
      MSFlexGrid1.Text = "Fecha de sesión"
      MSFlexGrid1.Col = 3
      MSFlexGrid1.Row = 0
      MSFlexGrid1.Text = "Animador"


      Do Until rsSession.EOF

      MSFlexGrid1.AddItem rsSession("CodeSession") & Chr(9) & rsSession("CodeStage") & Chr(9) & rsSession("DateSession") & Chr(9) & rsSession("NumAnim")
      rsSession.MoveNext

      Loop


      End Sub
      0
      1. rudy > klowlead
         
        Está bien

        Todo lo que bien acaba, bien está...
        0
      2. titi311 > klowlead
         
        Hola
        he ejecutado tu código principal y tengo un error en la línea
        Do Until rsSession.EOF

        MSFlexGrid1.AddItem rsSession("CodeSession") & Chr(9) & rsSession("CodeStage") & Chr(9) & rsSession("DateSession") & Chr(9) & rsSession("NumAnim")
        rsSession.MoveNext

        Loop
        ayúdame por favor, realmente lo necesito
        0
  3. brahimhakkou Mensajes publicados 1 Fecha de registro   Estado Miembro
     
    Hola,

    tengo un MSFlexGrid y lo lleno con un ListBox donde asigno mis datos
    tengo un problema, quiero saber si es posible registrar los elementos de un MSFlexGrid en una base de datos con el evento de un botón, por ejemplo. Ya he intentado, pero no funciona. No sé si es posible o no ????
    Gracias
    0
  4. ibouko
     
    Hola, me gustaría recibir ayuda con mi msflexgrid. Quiero que después de ingresar en una celda y presionar enter, el puntero se coloque automáticamente en la siguiente fila.
    0
  5. wokerm Mensajes publicados 45 Estado Miembro 1
     
    en lo que a mí respecta, procedo de la siguiente manera
    supongamos que tengo una tabla de 05 columnas y 04 filas
    los títulos de las columnas deben contener los siguientes valores
    Matemáticas, física, ciencias, química
    para llenar la primera fila a partir de la segunda celda
    .col=1
    .row=0
    .colsel=4
    .row=0
    .clip="Matemáticas" & vbtab & "física" & vbtab & "ciencias" & vbtab & "química"
    para llenar los títulos de la primera columna
    .col=0
    .row=1
    .col=0
    .row=3
    .clip="mohamed" & vbcr & "magali" & vbcr & "ludi"
    0