TODOPIC

Lenguajes de programación para PC => Visual Basic => Mensaje iniciado por: pic27 en 26 de Octubre de 2004, 14:28:00

Título: Como hacer en una msflexgrid..
Publicado por: pic27 en 26 de Octubre de 2004, 14:28:00
Hola ahí va mi pregunta....
He creado una grid "msflexgrid1" con una row fija y una col fija.
En cualquier parte de la flex, con msflexgrid1.col y msflexgrid1.row, se donde estoy.
El problema viene cuando quiero distinguir el doble click solo en la col fija, pues me devuelve msflexgrid1.col=1 cuando debería ser "0" no?
es decir, tanto pulsando en la columna 0 (fija) como en la 1 me da que he pulsado en la 1, en la 2 =2 ect. y lo mismo me ocurre para las filas .

Bueno, si me permitiis, ya que estoy, otra...

También, en una msflexgrid, como puedo posicionarme por ejemplo en la linea 100
pues siempre empieza por la "0" y tan solo se como avanzar a una línea con el cursor.
con setfocus, me posiciona en una fila, columna pero siempre que esté visible en el primer pantallazo.


Espero haberme explicado, gracias por anticipado.......... saludos.
Título: RE: Como hacer en una msflexgrid..
Publicado por: wqtrp en 26 de Octubre de 2004, 17:51:00
tu primera pregunta no se entiende muy bien, asi q habra q reestructurarla o alguien mas la contestara

la segunda creeria q lo q buscas es MSFlexGrid1.TopRow=xx donde xx es el valor q la primer fila q aparecera en tu vista.

Suerte y hechale una ojeda al help q esta mucho mas clarito.

Título: RE: Como hacer en una msflexgrid..
Publicado por: pic27 en 27 de Octubre de 2004, 07:55:00
Si, efectivamente es msflexgrid1.toprow lo que buscaba.

Ahora intentaré explicarme en el primer caso que exponía.
En una msflexgrid1 coloco una row y una col fijas.
En la row 0, (fija) podría por ejemplo poner el texto: "Nombre" "Apellido","DNI" y en la ROw 1 y posteriores los distintos nombres, apellidos y DNIS

El problema es que no puedo distinguir si hago el doble click sobre la row cero y la uno, en ambas me devuelve msflexgrid.row=1

Es decir:
Si hago doble click en la ROW 3, msflexgrid1.row me da 3
Si hago doble click en la ROW 2, msflexgrid1.row me da 2
Si hago doble click en la ROW 1, msflexgrid1.row me da 1
y .........
Si hago doble click en la ROW 0, msflexgrid1.row también me da 1 (esperaba 0)

La idea es , si pulso en cualquier ROW>0 cojo los datos de esa ROW par llevarlos a donde sea y si pulso en la ROW 0 por ejemplo ordenalos, pero si pulso en la 0, hace el mismo efecto que si pulso en la 1.´

Me he explicado, gracias, un saludo.Flash
Título: RE: Como hacer en una msflexgrid..
Publicado por: candydaria en 25 de Diciembre de 2004, 13:10:00
Para saber que fila ha sido la seleccionada utiliza :
fila = msflexgrid.rowsel

o tambien para las columnas:
columna = msgflexgrid.colsel

te devuelve la fila o columna seleccionada, tambien puedes agregar otra propiedad del flex:

flex.selectionmode =1 " flexselectionByRow

cada vez que presionas sobre el flexgrid te selecciona toda la fila Giño