MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 21/01/15, 21:57:16
jamiguel77 jamiguel77 is offline
Junior Member
 
Fecha de Ingreso: jun 2011
Mensajes: 21
Red face cl_gui_alv_grid and checkbox (Color a Row)

Hola amigos, como estan?

tengo mi programa funcionando en el cual incluyo una columna con checkbox, ya esta trabajando como quiero solo quiero agregarle una funcionalidad mas:
Cuando el usuario le da click a algun renglon en el checkbox, quiero colorear el renglon (claro si el valor del checkbox es TRUE).

Alguna idea de como hacerlo?

Me imagino que debo de detectar el evento CLICK o no?

Me base en este ejemplo para hacer trabajar mi alv, con el checkbox:
BCALV_EDIT_05


Gracias
Responder Con Cita
  #2  
Viejo 29/01/15, 19:19:54
luise32 luise32 is offline
Member
 
Fecha de Ingreso: oct 2011
Localización: Bogotá - Colombia
Mensajes: 71
Hola, espero que no sea un poco tarde para responderte.

Voy a suponer que la estructura de tu tabla la cual muestras en el ALV es la siguiente:

Ojo: Ten en cuenta que estoy agregando una columna adicional la cual se llamara COLOR, el nombre no importa pero si debes tenerlo muy presente.


Cuando generas el loyout seguramente utilizas unas lineas de código similares a lo siguiente: Ten en cuenta la linea que esta en negrilla la cual le permitirá a tu ALV identificar cual es la columna que almacenara el dato del color. Debes llamarlo igual al campo que creaste para almacenar el COLOR en la parte del TYPES:


Por ultimo solo falta identificar las columnas que ya fueron marcadas para colorearlas, los colores son los siguientes:


Usa los que necesites en realidad, el resto deséchalos o comentarealos.

Por ultimo podrias hacer un loop para recorrer la tabla y determinar que color ira en cada fila del ALV o tambien justo en el momento cuando marcas el check en el evento change o change_finished.


Espero te sirva esta guía.

Saludos!
__________________
Consultor SAP ABAP
Responder Con Cita
  #3  
Viejo 29/01/15, 21:09:01
jamiguel77 jamiguel77 is offline
Junior Member
 
Fecha de Ingreso: jun 2011
Mensajes: 21
Cool

Hola luise32

Gracias por responder y no es tarde.

Ahorita mi gran problema es.... como detecto el Click en la columna del checkbox (en el preciso momento de darle click al checkbox) quisiera hacer lo siguiente:

Algoritmo:

si celdacheckada[indicedecolumna] entonces
si columna3='AAA' entonces
renglon[indicedecolumna].color=rojo
endsi
endsi

El gran problema que he visto es detectar el CLICK, he visto que facilmente detectan el DOBLECLICK pero no asi el CLICK.

algunos mencionan que hay que cambiar la columna de tipo checkbox a HOTSPOT, pero no entiendo mucho todavia al respecto.

Te agradezco y tu codigo es sumamente claro.

Gracias por compartir.
Responder Con Cita
  #4  
Viejo 02/02/15, 20:47:35
luise32 luise32 is offline
Member
 
Fecha de Ingreso: oct 2011
Localización: Bogotá - Colombia
Mensajes: 71
Hola nuevamente

Es preferible que coloques el evento del data_change_finished o data_change y con ellos entrar a validar. No tienes que detectar el evento del clic en la columna, mas bien valida si la fila cambio sus datos y si esta marcada pintala de un color y sino pintala de otro.

Ejemplo: El usuario hace clic en el campo de check, al cambiar de vacio a 'X' y si presionas TAB o si te ubicas con la ayuda del mouse en otra celda o campo, el programa detectará que cambió la información de la tabla (siempre y cuando tengas declarados los eventos data_changed_finished o data_changed).

Definition

Implementation

En las rutinas entra a validar si hubo algún cambio en los datos, ten en cuenta que este codigo se disparará siempre que realices un cambio en los datos de cualquier campo y los finalices. Cuando digo finalizar me refiero a:

1. El usuario hizo el cambio en la columna y presiono TAB o Enter
2. El usuario hizo clic en una celda diferente a la actual.

En una de esas rutinas (yo optaría por la change_finished) validaría la tabla haciendo un loop.


Saludos, cualquier duda coméntame...
__________________
Consultor SAP ABAP
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 09:45:48.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web