Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

[SOLUCIONADO]  Es posible cambiar el color de la fila seleccionada en un GridView
#1

Hola

Cuando uno hace un click en una celda, la fila donde esta esta celda se ilumina con un color. ¿Es posible cambiar el color de la selección o es algo que va emparejado con el sistema operativo?

Gracias.
    ¡Gracias!
#2

(04-05-2021, 18:47)gambafeliz escribió:  ¿Es posible cambiar el color de la selección o es algo que va emparejado con el sistema operativo?

Que yo sepa no se puede. El color esta relacionado con el tema del escritorio no con el sistema operativo.
Saludos.
[-] Los siguientes 1 usuarios dice gracias a tincho por este post:
  • gambafeliz
    ¡Gracias!
#3

No se si te puede dar ayuda esta pagina del wiki italiano:

   https://www.gambas-it.org/wiki/index.php...e_iniziale

"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)

"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
[-] Los siguientes 1 usuarios dice gracias a vuott por este post:
  • gambafeliz
    ¡Gracias!
#4

Hola vuott, observo por el código que lo que hacen es simplemente eliminar la selección natural por una reescrita desde la parte de usuario-programador. Si me sirve, gracias. Aunque no estoy del todo contente. Supone hacer un módulo, clase para todo mi código, no se, lo pienso.

Gracias, tincho. No se si es muy osado por mi parte pero existe alguna posibilidad que me recomiendes o me recomendéis alguna forma de cambiar este color con algún programa o parte del sistema que edite esto en el escritorio "GNOME 3.30.2", por supuesto sin compromiso, te lo dejo en tu mano si quieres. Por supuesto voy a mirar yo también para ver si encuentro algo, pero os lo pido por que yo comparado con ustedes llevo en Linux nada.

Mil gracias a los dos.
    ¡Gracias!
#5

Pruebe este código en una aplicación gráfica.
GAMBAS
  1. hGridview As GridView
  2.  
  3. Public Sub Form_Open()
  4.  
  5.   Dim iRow, iCol As Integer
  6.  
  7.   With Me
  8.     .H = 675
  9.     .W = 575
  10.     .Arrangement = Arrange.Vertical
  11.     .Padding = 5
  12.  
  13.   With hGridview = New GridView(Me) As "hGridview"
  14.     .Expand = True
  15.     .Columns.Count = 10
  16.     .Rows.Count = 30
  17.  
  18.   For iCol = 0 To hGridview.Columns.Max
  19.     For iRow = 0 To hGridview.Rows.Max
  20.       hGridview[iRow, iCol].Text = "Hola"
  21.     Next
  22.   Next
  23.  
  24.  
  25. Public Sub hGridview_Click()
  26.  
  27.   Dim iRow, iCol As Integer
  28.  
  29.   For iCol = 0 To hGridview.Columns.Max
  30.     For iRow = 0 To hGridview.Rows.Max
  31.       hGridview[iRow, iCol].Background = Color.Default
  32.       hGridview[iRow, iCol].Foreground = Color.Default
  33.       hGridview[iRow, iCol].Font.Bold = False
  34.     Next
  35.   Next
  36.  
  37.   For iCol = 0 To hGridview.Columns.Max
  38.     hGridview[Last.Row, iCol].Background = Color.Red          ''***
  39.     hGridview[Last.Row, iCol].Foreground = Color.Yellow       ''***
  40.     hGridview[Last.Row, iCol].Font.Bold = True
  41.   Next
  42.  


[-] Los siguientes 1 usuarios dice gracias a cogier por este post:
  • gambafeliz
    ¡Gracias!
#6

Prueba ésto.
Se Puede cambiar también el tamaño y color de la fuente, que el alto de la fila se ajuste al texto, etc. Pero con eso te haces una idea.

Saludos


Archivos adjuntos
.gz GridviewColores-0.0.1.tar.gz Tamaño: 12.19 KB  Descargas: 4

No podemos regresar
[-] Los siguientes 1 usuarios dice gracias a Shordi por este post:
  • gambafeliz
    ¡Gracias!
#7

Me puede valer, aunque tengo que seguir pensando como hacerlo más simple. Es que sino tengo que implementarlo en todos los Grid, aunque ya se que se puede globalizar con un módulo, por ejemplo.

Muchísimas gracias de verdad. Aunque se me ha metido en la cocorota que tengo que buscar algo mas mágico, por favor, esto no es cosa tuya ya sabes que es más que suficiente lo que me has sugerido, soy yo que soy muy cabezón.
    ¡Gracias!
#8

Cita:Es que sino tengo que implementarlo en todos los Grid
No necesariamente. Crea un control que herede de gridview y que lo haga automáticamente. Sólo tienes que usar ese control en lugar de los GridView.

No podemos regresar
    ¡Gracias!
#9

Mis disculpas Shordi. Tienes razón, lo he estado meditando todo, y sí, es suficiente tal como me dices. Voy a implementar lo que me cuentas, gracias. Otra cosa para quien le interese, mirad este hilo de cogier, en su foro hay cosas muy muy interesante.

https://forum.gambas.one/viewtopic.php?t=562
    ¡Gracias!
#10

(14-05-2021, 18:19)gambafeliz escribió:  Me puede valer, aunque tengo que seguir pensando como hacerlo más simple. Es que sino tengo que implementarlo en todos los Grid, aunque ya se que se puede globalizar con un módulo, por ejemplo.

Muchísimas gracias de verdad. Aunque se me ha metido en la cocorota que tengo que buscar algo mas mágico, por favor, esto no es cosa tuya ya sabes que es más que suficiente lo que me has sugerido, soy yo que soy muy cabezón.

De todas formas, y sólo por el placer de volver a menear los dedos oxidados, te adjunto un ejemplo de cómo queda un control propio que te hace el trabajo de forma transparente.Sólo tienes que añadir la clase "MiGrid" al proyecto y voilá.

Ha sido divertido.

Saludos

El código es muy simple:


GAMBAS
  1. ' Gambas class file
  2.  
  3.  
  4.  
  5. Public Const _Properties As String = "*"
  6. Public Const _Group As String = "View"
  7. Public Const _Similar As String = "GridView"
  8. Public Const _drawWith As String = "GridView"
  9.  
  10. Private $oldColumn As Integer
  11.  
  12.  Public Sub _new()
  13.  
  14.      $obs = New Observer(Me) As "grid"
  15.  
  16.  
  17. Public Sub grid_Change()
  18.     
  19.     Me[$oldrow, $oldColumn].Background = Color.TextBackground
  20.     Me[$oldrow, $oldColumn].Foreground = Color.Foreground
  21.     Me[Me.row, Me.column].Background = Color.SelectedBackground
  22.     Me[Me.row, Me.column].Foreground = Color.SelectedForeground
  23.     $oldcolumn = Me.Column
  24.     $oldrow = Me.Row
  25.  


Se pueden hacer multitud de cosas con éste sistema. Si te interesa puedo subir alguna clase como ésta que hace más cosas y, por tanto, es más compleja.

¿Alguien me puede explicar cómo poner código en colorines? El botón ese de la gamba cocida no me funciona, al parecer.
Huh Huh


Archivos adjuntos
.gz GridviewColores-0.0.1.tar.gz Tamaño: 12.32 KB  Descargas: 3

No podemos regresar
[-] Los siguientes 1 usuarios dice gracias a Shordi por este post:
  • gambafeliz
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)