Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Ayuda con flexgrid

Estas en el tema de Ayuda con flexgrid en el foro de Visual Basic clásico en Foros del Web. Buenas tardes, mi consulta es la siguiente, tengo un flexgrid cuyos campos o columnas dependen de una consulta sql, entonces pueden estar variando el orden ...
  #1 (permalink)  
Antiguo 16/03/2010, 12:31
 
Fecha de Ingreso: febrero-2007
Mensajes: 4
Antigüedad: 17 años, 2 meses
Puntos: 0
Pregunta Ayuda con flexgrid

Buenas tardes, mi consulta es la siguiente, tengo un flexgrid cuyos campos o columnas dependen de una consulta sql, entonces pueden estar variando el orden ya que el que realiza la consulta puede seleccionar que campos pasar o no, por tanto requiero obtener el valor de una celda de una columna especifica al seleccionar la fila que desee, me xplico.

A B C D
1 3 6 9
4 10 2 564
67 1 44 29

En esta tabla yo siempre que seleccione una fila me debe dar el valor de la columna C, pero no siempre puede ser la 3ra, si fuera fija usaría por ejemplo al seleccionar cualquier fila

valor_requerido = miformulario.miflexgrid.TextMatrix(miflexgrid.RowS el, 3)

Cómo podría usar este código pero usando el colheadercaption por ejemplo, para que al seleccionar la fila me muestre el valor de la columna que tenga el encabezado "C", gracias.
  #2 (permalink)  
Antiguo 16/03/2010, 12:40
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: Ayuda con flexgrid

Hola, me has tocado la fibra, soy un enamorado del MsFlexGrid, para estos casos suelo utilizar esta función

Código:
Public Function ColumnaGrid(Grid As Object, Titulo As String) As Single
  ' Devuelve -1 si no existe. Busca Titulo idéntico o sea Pepe <> pEpE
  Dim Columna As Single
  For Columna = 0 To Grid.Cols - 1
    If Grid.TextMatrix(0, Columna) = Titulo Then
      ColumnaGrid = Columna
      Exit Function
    End If
  Next
  ColumnaGrid = -1
End Function
Pruébala y ya me contarás
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...
  #3 (permalink)  
Antiguo 16/03/2010, 13:05
 
Fecha de Ingreso: febrero-2007
Mensajes: 4
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Ayuda con flexgrid

Disculpa la ignorancia, como lo uso masterflex?
  #4 (permalink)  
Antiguo 16/03/2010, 13:17
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: Ayuda con flexgrid

Pues muy simple, copiare tu sentencia para que lo veas mas facil

Código vb:
Ver original
  1. Columna = ColumnaGrid(miformulario.miflexgrid, "C")
  2.  
  3. valor_requerido = miformulario.miflexgrid.TextMatrix(miflexgrid.RowSel, Columna)
o directamente

Código vb:
Ver original
  1. valor_requerido = miformulario.miflexgrid.TextMatrix(miflexgrid.RowSel, ColumnaGrid(miformulario.miflexgrid, "C"))
como mejor te convenga
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...
  #5 (permalink)  
Antiguo 16/03/2010, 13:38
 
Fecha de Ingreso: febrero-2007
Mensajes: 4
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Ayuda con flexgrid

erbuson sos grande, muchas gracias, funcionó de perlas, que Dios te lo pague
  #6 (permalink)  
Antiguo 16/03/2010, 13:54
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: Ayuda con flexgrid

Nada, nada, no hay para tanto, la experiencia que como todos sabemos es un grado.
Cualquier duda aqui estamos, en lo que personalmente no podré ayudarte es en Bases de Datos pero en lo que pueda, a mandar.
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:52.