1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Row BGCOLOR Sets for ENTIRE Dynamic Browse, not Just 1 Row

Discussão em 'StackOverflow' iniciado por fdantas, Dezembro 8, 2016.

  1. fdantas

    fdantas Administrator Moderador

    Using the ROW-DISPLAY trigger when creating a dynamic OpenEdge browse. The problem is, when the data is displayed, all rows have the BGCOLOR determined by the data buffer's content of the LAST row only. Never had this problem with a static browse.

    Browse code looks like this:

    CREATE BROWSE l-browse-wh IN WIDGET-POOL "pool"

    ASSIGN X = 1
    Y = l-browse-y
    FONT = INT(get-fn("browsedat-fnt"))
    HEIGHT-PIXELS = l-h
    WIDTH-PIXELS = FRAME f-data:WIDTH-PIXELS - 20
    QUERY = hQuery
    HIDDEN = FALSE
    ROW-HEIGHT-CHARS = 0.67
    READ-ONLY = FALSE
    ROW-MARKERS = FALSE
    SEPARATORS = TRUE
    COLUMN-RESIZABLE = TRUE
    COLUMN-SCROLLING = TRUE
    FIT-LAST-COLUMN = FALSE
    SCROLLBAR-VERTICAL = FALSE
    FRAME = FRAME f-data:HANDLE
    VISIBLE = TRUE
    SENSITIVE = TRUE
    TRIGGERS:
    ON ROW-DISPLAY
    PERSISTENT RUN row-color-ip IN THIS-PROCEDURE.
    END TRIGGERS.

    PROCEDURE row-color-ip:

    DEF VAR l-bgcolor AS INT NO-UNDO.

    IF tt-sold.t-exclude-sw /* <-- always uses value from last browse row */
    THEN ASSIGN l-bgcolor = 8.
    ELSE ASSIGN l-bgcolor = 15.

    FOR EACH tt-col-handles
    NO-LOCK:
    ASSIGN tt-col-handles.t-wh:BGCOLOR = l-bgcolor.
    END. /* of "FOR EACH tt-col-handles" */
    END PROCEDURE.

    Continue reading...

Compartilhe esta Página