MSFlexGrid de Visual Basic
klowlead
Mensajes publicados
11
Estado
Miembro
-
wokerm Mensajes publicados 45 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.
¿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
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.
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.
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
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
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
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
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
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
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.
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"
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"
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.