Buenas, es posible que al pasar por encima de una celda de un control GridView, en concreto sin pulsar (hacer click) se lance un evento y poder sacar información de esa celda mediante el ID que se almacena en la primera columna.
El estilo vendría a ser lo que en web html sería el componente tooltip.
Saludos.
[Solucionado] Ver Texto Al Posicionarse Con El Ratón Encima De Celda
Objetivo: [Solucionado] Ver Texto Al Posicionarse Con El Ratón Encima De Celda
última edición por calcena el Jueves, 25 Junio 2020, 20:50; editado 2 veces
última edición por calcena el Jueves, 25 Junio 2020, 20:50; editado 2 veces
Objetivo: Re: Ver Texto Al Posicionarse Con El Ratón Encima De Celda
No he comprendido bien.
calcena escribió:
No he comprendido bien.
Objetivo: Re: Ver Texto Al Posicionarse Con El Ratón Encima De Celda
Hola hermano.
Muy interesante el caso. Estuve intentando con el evento mousmove y no tuve éxito .
Voy a intentarlo de nuevo porque yo también necesito esa solución. cualquier cosa le avisare.
Saludos.
Muy interesante el caso. Estuve intentando con el evento mousmove y no tuve éxito .
Voy a intentarlo de nuevo porque yo también necesito esa solución. cualquier cosa le avisare.
Saludos.
Objetivo: Re: Ver Texto Al Posicionarse Con El Ratón Encima De Celda
Se hace con toda seguridad con el evento MouseMove, este nos va a dar la posición del Mouse en todo momento, a continuación debes pintar dos label para ver la posición X e Y de la celda, por otra parte debes pintar ScreenX, ScreenY del GridView así como Mouse.ScreenX, Mouse.ScreenY, de esta forma comprenderás que GridView y Mouse coinciden numericamente, ahora solo te queda hacer rangos de celdas con la posición de Mouse. Esto lo haces recorriendo las filas y las columnas para obtener su posición y así comparar con el mouse, para después obtener el Text de la celda.
Esto es muy bonito explicado pero hay que hacerlo, yo voy por la mitad de lo que he contado. Y lo estoy haciendo solo para vosotros jugadores
A ver si lo termino y os paso el código.
Saludos.
Esto es muy bonito explicado pero hay que hacerlo, yo voy por la mitad de lo que he contado. Y lo estoy haciendo solo para vosotros jugadores
A ver si lo termino y os paso el código.
Saludos.
Objetivo: Re: Ver Texto Al Posicionarse Con El Ratón Encima De Celda
Muchas gracias, tal como lo explicas tiene muy buena pinta.
Mi explicación para VUOTT ya que no se si expliqué bien mis intenciones:
Situación:
1- tenemos un gridview con una columa ID oculta que nos da el identificador de Base de datos para poder hacer el CRUD típico y normal.
2- cuando movemos el ratón por encima de las celdas, en html5 (aplicación web php) al posicionarte encima de un elemento, texto, imagen puedes llegar a construir un tooltip (titulito que aparece emergente al posicionarte encima de algo), ese tooltip puede enseñarte información interesante pero no vital sobre algún dato.
3- He visto que en el gridview existe el evento gridView_mousemove, pero es para lanzar el evento en cualquier parte, sin concretar en la posición exacta de la celda.
Dicho esto la idea sería que como cada celda tiene una información y unos iconos diferentes obtenidos desde la DB por el resultado, sería interesante que, al posicionarse encima (sin pulsar click) de un elemento apareciera un cartelito, tooltip, label...etc con un dato que queramos informar.
La posible vía que estoy mirando es que dinámicamente se construya la label de cada fila y obtener lo que dice GAMBAFELIZ para obtener las coordenadas x - y de cada celda.
Saludos muchas gracias.
gambafeliz escribió:
Muchas gracias, tal como lo explicas tiene muy buena pinta.
Mi explicación para VUOTT ya que no se si expliqué bien mis intenciones:
Situación:
1- tenemos un gridview con una columa ID oculta que nos da el identificador de Base de datos para poder hacer el CRUD típico y normal.
2- cuando movemos el ratón por encima de las celdas, en html5 (aplicación web php) al posicionarte encima de un elemento, texto, imagen puedes llegar a construir un tooltip (titulito que aparece emergente al posicionarte encima de algo), ese tooltip puede enseñarte información interesante pero no vital sobre algún dato.
3- He visto que en el gridview existe el evento gridView_mousemove, pero es para lanzar el evento en cualquier parte, sin concretar en la posición exacta de la celda.
Dicho esto la idea sería que como cada celda tiene una información y unos iconos diferentes obtenidos desde la DB por el resultado, sería interesante que, al posicionarse encima (sin pulsar click) de un elemento apareciera un cartelito, tooltip, label...etc con un dato que queramos informar.
La posible vía que estoy mirando es que dinámicamente se construya la label de cada fila y obtener lo que dice GAMBAFELIZ para obtener las coordenadas x - y de cada celda.
Saludos muchas gracias.
Objetivo: Re: Ver Texto Al Posicionarse Con El Ratón Encima De Celda
última edición por gambafeliz el Miercoles, 24 Junio 2020, 15:15; editado 2 veces
Este es el código sin pulir sin invertigar las columnas a fondo pero que funciona perfecto:
Explico el ejemplo, se trata de un GridView1 con 6 filas y 2 columnas en un formulario.
Espero que lo entendáis bien, sino por favor pregunten sin ningún problema, cuando lo mejore lo añadiré.
Saludos
Explico el ejemplo, se trata de un GridView1 con 6 filas y 2 columnas en un formulario.
- Public Sub GridView1_MouseMove()
- Dim iCW0, iCW1 As Integer
- ' Ejemplo para dos columnas, 0 y 1
- iCW0 = GridView1[0, 0].W ' variable integer para recuperar el ancho de la columna (C=Columan, W=Ancho) en fila 0
- iCW1 = GridView1[0, 1].W ' variable integer para recuperar el ancho de la columna (C=Columan, W=Ancho) en fila 1
- ' Los Bordes númericos y del header = 20px, para este ejemplo.
- Label1.Text = Int((Mouse.ScreenY - GridView1.ScreenY) / 20) - 1 ' [-1] es para obtener Row
- ' Comparo la coordenada del mouse con:
- ' 1.Posición donde esta el GridView1 + 20px del borde donde esta numerada la fila
- ' 2.Posición donde esta el GridView1 + 20px del borde donde esta numerada la fila + Ancho de la columna 0
- If Mouse.ScreenX > (GridView1.ScreenX + 20) And Mouse.ScreenX < (GridView1.ScreenX + 20 + iCW0) Then
- Label2.Text = 0
- Else
- Label2.Text = 1
- Endif
- ' Ya tenemos la fila y la columna mapeada ahora solo queda poner la información
- If CInt(Label1.Text) > -1 And CInt(Label1.Text) < 6 Then
- Label3.Text = GridView1[CInt(Label1.Text), CInt(Label2.Text)].Text
- Endif
- End
Espero que lo entendáis bien, sino por favor pregunten sin ningún problema, cuando lo mejore lo añadiré.
Saludos
última edición por gambafeliz el Miercoles, 24 Junio 2020, 15:15; editado 2 veces
Objetivo: Re: Ver Texto Al Posicionarse Con El Ratón Encima De Celda
Buenas, la ejecución perfecta, solo tiene un fallo y es el tema de gestionar el scroll, no se lleva muy fino con registros que ocupan de lo visualizable.
He copiado el ejemplo para pasarlo a mi desarrollo y se visualizan 17 registros, aquí funciona correctamente, pero en realidad en la tabla hay 21, cuando realizo el scroll para poder ver los inferiores, ya el sistema se pierde como es normal.
Saludos.
gambafeliz escribió:
Buenas, la ejecución perfecta, solo tiene un fallo y es el tema de gestionar el scroll, no se lleva muy fino con registros que ocupan de lo visualizable.
He copiado el ejemplo para pasarlo a mi desarrollo y se visualizan 17 registros, aquí funciona correctamente, pero en realidad en la tabla hay 21, cuando realizo el scroll para poder ver los inferiores, ya el sistema se pierde como es normal.
Saludos.
Objetivo: Re: Ver Texto Al Posicionarse Con El Ratón Encima De Celda
Pues, seguro que tienes razón, es un esbozo, churretoso que estoy probando, ahora estoy mejorandolo, la parte de las columnas y perfeccionando todo lo que tu dices por que pretendo hacer algo para mi programa. Y si yo he detectado algún problema sin importancia también, como que cuando poner el puntero sobre los números de fila te dice la columna 2, pero bueno como es una prueba que lo que he querido es pasarla para que la mejoréis cada cual a su gusto pues, en fin, no esta mal
Saludos, joven.
calcena escribió:
Pues, seguro que tienes razón, es un esbozo, churretoso que estoy probando, ahora estoy mejorandolo, la parte de las columnas y perfeccionando todo lo que tu dices por que pretendo hacer algo para mi programa. Y si yo he detectado algún problema sin importancia también, como que cuando poner el puntero sobre los números de fila te dice la columna 2, pero bueno como es una prueba que lo que he querido es pasarla para que la mejoréis cada cual a su gusto pues, en fin, no esta mal
Saludos, joven.
Objetivo: Re: Ver Texto Al Posicionarse Con El Ratón Encima De Celda
última edición por vuott el Miercoles, 24 Junio 2020, 20:25; editado 4 veces
Como exemplo general y simple, yo propondria este codigo:
Public Sub Form_Open()
Dim c, r As Byte
With GridView1
.Columns.Count = 2
.Rows.Count = 6
.Tracking = True
End With
' Escribimos cualquier texto en cada celda:
For c = 0 To GridView1.Columns.Max
For r = 0 To GridView1.Rows.Max
GridView1[r, c].Text = CStr(c) & "," & CStr(r)
Next
Next
End
Public Sub GridView1_MouseMove()
GridView1.Tooltip = Null
If (GridView1.RowAt(Mouse.Y) > -1) And (GridView1.ColumnAt(Mouse.X) > -1) Then
GridView1.Tooltip = "<Font Color=red>" & GridView1[GridView1.RowAt(Mouse.Y), GridView1.ColumnAt(Mouse.X)].Text
Endif
End
Dim c, r As Byte
With GridView1
.Columns.Count = 2
.Rows.Count = 6
.Tracking = True
End With
' Escribimos cualquier texto en cada celda:
For c = 0 To GridView1.Columns.Max
For r = 0 To GridView1.Rows.Max
GridView1[r, c].Text = CStr(c) & "," & CStr(r)
Next
Next
End
Public Sub GridView1_MouseMove()
GridView1.Tooltip = Null
If (GridView1.RowAt(Mouse.Y) > -1) And (GridView1.ColumnAt(Mouse.X) > -1) Then
GridView1.Tooltip = "<Font Color=red>" & GridView1[GridView1.RowAt(Mouse.Y), GridView1.ColumnAt(Mouse.X)].Text
Endif
End
última edición por vuott el Miercoles, 24 Junio 2020, 20:25; editado 4 veces
Objetivo: Re: Ver Texto Al Posicionarse Con El Ratón Encima De Celda
Pues vuott para mi más que perfecto, muchas gracias
vuott escribió:
Pues vuott para mi más que perfecto, muchas gracias
Página 1 de 2
No puede crear mensajesNo puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario
Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Página generada en:: 0.4608s (PHP: -76% SQL: 176%)
Consultas SQL: 48 - Debug off - GZIP Activado