Visual Basic - MSHFlexGrid

Life is soft - evento anual de software empresarial
 
Vista:

MSHFlexGrid

Publicado por fernando (13 intervenciones) el 09/08/2004 10:48:29
Hola a todos,

¿Cómo puedo obtener los valores de las columnas correspondientes a la fila seleccionada en un MSHFlexGrid?
No encuentro nada parecido a GetValue o similar. En cuanto a rellenar los datos no tengo problema, pero necesito saber los datos seleccionados por el usuario para realizar una consulta.

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:MSHFlexGrid

Publicado por miguel (1042 intervenciones) el 09/08/2004 18:45:56
Pueden ser en dos eventos Click y DblClick del Control, seria:

Private Sub MSHFlexGrid1_Click()
'Obtener el valor de la columna 1
valor = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 0)
MsgBox valor
'Obtener el valor de la columna 2
valor = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 1)
MsgBox valor

End Sub

Private Sub MSHFlexGrid1_DblClick()
'Obtener el valor de la columna 1
valor = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 0)
MsgBox valor
'Obtener el valor de la columna 2
valor = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 1)
MsgBox valor
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MSHFlexGrid

Publicado por miguel (1042 intervenciones) el 09/08/2004 18:45:56
Pueden ser en dos eventos Click y DblClick del Control, seria:

Private Sub MSHFlexGrid1_Click()
'Obtener el valor de la columna 1
valor = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 0)
MsgBox valor
'Obtener el valor de la columna 2
valor = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 1)
MsgBox valor

End Sub

Private Sub MSHFlexGrid1_DblClick()
'Obtener el valor de la columna 1
valor = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 0)
MsgBox valor
'Obtener el valor de la columna 2
valor = MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 1)
MsgBox valor
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MSHFlexGrid

Publicado por Semper (74 intervenciones) el 10/08/2004 00:12:42
Utiliza las propiedades .ROW, .COL, .ROWSEL y .COLSEL del MsFlexGrid para saber que celdas tiene seleccionadas el usuario...

Si .ROW = .ROWSEL y .COL = .COLSEL significa que solamente hay una celda seleccionada...

En caso contrario hay un rango de celdas seleccionadas; lo que necesitas hacer, en este supuesto, es verificar de donde a donde esta seleccionado el rango, verificando cuales valores son menores, ya que una seleccion puede hacerse desde la celda actual hacia abajo/adelante o hacia arriba/atras ...

' ...

Dim nRow As Long ' Renglon Desde
Dim nCol As Long ' Columna Desde
Dim nRowSel As Long ' Renglon Hasta
Dim nColSel As Long ' Columna Hasta

If MsFlexGrid1.Row <= MsFlexGrid1.RowSel Then
nRow = MsFlexGrid1.Row
nRowSel = MsFlexGrid1.RowSel
Else
nRowSel = MsFlexGrid1.Row
nRow = MsFlexGrid1.RowSel
End If

If MsFlexGrid1.Col <= MsFlexGrid1.ColSel Then
nCol = MsFlexGrid1.Col
nColSel = MsFlexGrid1.ColSel
Else
nColSel = MsFlexGrid1.Col
nCol = MsFlexGrid1.ColSel
End If

For nRow = nRow TO nRowSel
For nCol = nCol TO nColSel
cDato = MsFlexGrid1.TextMatrix(nRow,nCol)
' .....
Next
Next

' ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar