Ver Mensaje Individual
  #1
Antiguo 2 de septiembre de 2015, 13:35
Kuk
Administrador
Última Actividad 21.09.2026 18:24
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207
Selección de línea en Table control
4 Inactivo Inactivo

Código COBOL:
  1.  ENVIRONMENT DIVISION.
  2.  DATA        DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01  R       PIC 9(9).         *> Row actual
  5.  01  R-1     PIC 9(9) VALUE 0. *> Row seleccionado antes
  6.  
  7.  01  IDX-1   PIC 9(9).    
  8.  01  IDX-2   PIC 9(9).
  9.  
  10.  01  SV-COLOR              PIC X(4).
  11.  
  12.  PROCEDURE   DIVISION.
  13.      
  14.      IF  POW-CLICKROW OF TABLE1 NOT = 0
  15.          MOVE POW-CLICKROW OF TABLE1 TO R
  16.        
  17.          *> no seleccionamos líneas vacías
  18.          IF  POW-TEXT (R 1) OF TABLE1 = SPACES        
  19.              EXIT PROGRAM
  20.          END-IF
  21.        
  22.          *> si la línea seleccionada no es la misma que la anterior selección
  23.          IF  R NOT = R-1
  24.             *> si no es la primera selección después de cargar los datos
  25.              IF  R-1 NOT = 0
  26.                  MOVE 1 TO IDX-1
  27.                
  28.                  *> coloreamos línea anterior con el color que tenía (lo guardamos en SV-COLOR)
  29.                  PERFORM UNTIL IDX-1 > 15
  30.                      MOVE SV-COLOR TO POW-BACKCOLOR (R-1 IDX-1) OF TABLE1
  31.                      
  32.                      ADD 1 TO IDX-1
  33.                  END-PERFORM
  34.              END-IF
  35.            
  36.              *> esta parte compatibiliza con el AltBackColor para no perder orden de colores
  37.              IF  FUNCTION REM(R 2) NOT = 0
  38.                  MOVE POW-WHITE TO SV-COLOR
  39.                  
  40.              ELSE
  41.                  MOVE X'FFEEFF00' TO SV-COLOR
  42.              END-IF
  43.              
  44.              MOVE 1 TO IDX-1
  45.            
  46.              *> coloreamos la línea con el color selección
  47.              PERFORM UNTIL IDX-1 > 15
  48.                  MOVE X'FBFFA800' TO POW-BACKCOLOR (R IDX-1) OF TABLE1
  49.                  
  50.                  ADD 1 TO IDX-1
  51.              END-PERFORM
  52.          
  53.              MOVE R TO R-1
  54.          END-IF    
  55.      END-IF

El color X'FBFFA800' corresponde al color de la línea seleccionada (yo he puesto amarillento tipo ultra edit). Se puede cambiar, es RGB en formato para HTML y un nulo al final (X'00').
Imágenes Adjuntas
 



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita