Hola
Alguna pistilla para iluminar Row de un Gridview al situarse encima de una celda, pero muy importante si hacer click solo estando encima de una celda de la fila.
Gracias.
Rápidamente: con
Mousemove y
Find, luego un
for i grdEste[i, Columna].Background = Color.Lightter(Color.Background)
Si lo ves necesario, detallamos.
PS,—¡Ondia!, metedura de pata, hay que cambiar «Column» por «Row», no sé por qué lo he entendido al revés...

Prueba este código. No pude conseguir que 'FindChild' (era Find) funcionara ya que devuelve un Control.
GAMBAS
Gridview1
[iRow, iCol
].
Background = Color.
Default Gridview1[iRow, iCol].Text = ""
iRowFix
= Gridview1.
Rowat(Mouse.
Y) If iRowFix
= -1 Then iRowFix
= Gridview1.
Rows.
Max
Gridview1[iRowFix, iCol].Background = Color.Yellow
Gridview1[iRowFix, iCol].Text = "¡Hola!"
.Height = 500
.Width = 600
.Padding = 5
.Center
.Rows.Count = 20
.Columns.Count = 10
(04-09-2021, 17:07)Grandamakulo escribió: [ -> ]Rápidamente: con Mousemove y Find
Supongo que te refieres al evento MouseMove de GridView1 pero en mi Gambas no tengo el evento Find en GridView1.
Es que quizás no me he enterado bien o es que falta algo o no me he enterado. Por favor, si fueras tan amable de aclararme te lo agradecería.
Saludos, oye por cierto, me alegra saludarte que hace tiempo que no nos cruzamos

cogier eres un mago
Si, funciona estupendo !!!!
Solo que yo antes de mover el mouse por las filas, ya tenia todas las celdas coloreadas a modo de cebra y al pasar el mouse según tu código me borra todos los colores de las filas y las pone en color blanco, así como, donde pasa el puntero del mouse, se pone en amarillo la fila.
¿Esto tiene una fácil solución según tu código? ¿que opinas?
Muchísimas gracias cogier...
(04-09-2021, 19:43)gambafeliz escribió: [ -> ]¿Esto tiene una fácil solución según tu código? ¿que opinas?
Esperemos que esto solucione tu problema.
GAMBAS
Cebra
iRowFix
= Gridview1.
Rowat(Mouse.
Y)
Gridview1[iRowFix, iCol].Background = 12632256
Gridview1[iRow, iCol].Background = 14737632
Gridview1
[iRow, iCol
].
Background = Color.
Default
.Height = 480
.Width = 600
.Padding = 5
.Arrangement = Arrange.Vertical
.Center
.Rows.Count = 20
.Columns.Count = 5
Gridview1.
Columns[iLoop
].
Title = Chr(65 + iLoop
)
Cebra
Gridview1.Columns.Width = (Gridview1.Width / Gridview1.Columns.Count) - 10
Gracias cogier sinceramente para mi es un honor tener tu ayuda. Simplemente
Genial !!!!
Well done....

Cita:Esperemos que esto solucione tu problema.
Cogier:
Me he permitido modificar tu código para adaptarlo a un gridview con evento Data. Ahora debería funcionar con mucha mayor rapidez para Gridviews con mus muchas filas (no tienes más que cambiar en la línea 19 el 20 por 2000000 y lo verás) y no se efectúan bucles innecesarios al mover el ratón sin cambiar de fila.
Espero que te guste.
Saludos.
GAMBAS
$last = -2
.Height = 480
.Width = 600
.Padding = 5
.Arrangement = Arrange.Vertical
.Center
.Rows.Count = 20
.Columns.Count = 5
Gridview1.
Columns[iLoop
].
Title = Chr(65 + iLoop
) Gridview1.
Columns[iloop
].
Expand = True
cebra(Row, Col)
Gridview1[Row, Col].Background = Color.lighter(Color.Background)
Gridview1[Row, Col].Background = Color.Background
iRowFix
= Gridview1.
Rowat(Mouse.
Y) If iRowFix
= -1 Or If iRowfix
= $last
Then Return 'Si no hay fila o no hemos cambiado de fila aunque se haya movido el ratón, no hacemos nada. Gridview1[iRowFix, iCol].Background = Color.lighter(Color.SelectedBackground)
If $last
> -1 Then 'Si $Last es -1 es que todavía no tenemos ninguna fila a la que restaurar el color. cebra($last, iCol)
$last = iRowfix 'almacenamos el número de la fila modificada