Kbase P20345: How to create Stacked Labels (multiple lines) for a dynamic browse column?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  16/10/2008 |
|
Status: Verified
GOAL:
How to create Stacked Labels (multiple lines) for a dynamic browse column?
FIX:
The following code creates a multi-line stacked label for the Invoice-Date column of a dynamic browse:
DEF VAR whBrowse AS WIDGET-HANDLE NO-UNDO.
DEF VAR hColumn AS HANDLE NO-UNDO.
DEFINE FRAME f
WITH SIZE 80 BY 20.
DEFINE QUERY q1 FOR invoice SCROLLING.
CREATE BROWSE whBrowse
ASSIGN
TITLE = "Dynamic Browse"
FRAME = FRAME f:HANDLE
QUERY = QUERY q1:HANDLE
X = 2
Y = 2
WIDTH = 74
DOWN = 10
VISIBLE = NO
SENSITIVE = TRUE
READ-ONLY = NO
TRIGGERS:
ON ROW-DISPLAY
DO:
IF valid-handle(hColumn) THEN
ASSIGN
hColumn:FORMAT = "99-99-9999"
hColumn:BGCOLOR = 14.
END.
END TRIGGERS.
OPEN QUERY q1 FOR EACH invoice NO-LOCK.
hColumn = whBrowse:ADD-LIKE-COLUMN("invoice.invoice-num").
hColumn = whBrowse:ADD-LIKE-COLUMN("invoice.invoice-date").
hColumn = whBrowse:ADD-LIKE-COLUMN("invoice.amount").
hColumn = whBrowse:ADD-LIKE-COLUMN("invoice.total-paid").
hColumn = whBrowse:FIRST-COLUMN.
REPEAT WHILE VALID-HANDLE(hColumn):
IF hColumn:NAME = "invoice-date" THEN LEAVE.
hColumn = hColumn:NEXT-COLUMN.
END.
whBrowse:VISIBLE = YES.
IF VALID-HANDLE(hColumn) THEN
assign
hColumn:width = 13
hColumn:LABEL = "Invoice!Date".
WAIT-FOR WINDOW-CLOSE OF CURRENT-WINDOW.