Kbase P25609: How to change the FORMAT of a dynamic browse column before the ADD-LIKE-COLUMN method?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  12/19/2008 |
|
Status: Verified
GOAL:
How to change the FORMAT of a dynamic browse column before the ADD-LIKE-COLUMN method?
GOAL:
How to assign the FORMAT of a dynamic browse column outside the ROW-DISPLAY trigger?
GOAL:
How to avoid setting the FORMAT of a dynamic browse column inside the ROW-DISPLAY trigger?
FACT(s) (Environment):
Windows
Progress 9.1x
FIX:
To change the format of a dynamic browse column before the ADD-LIKE-COLUMN, change the format of the corresponding buffer field. In the following example, the FORMAT of the OrderDate field is changed before the even the creation of the browse. This technique may also be used to avoid the problematic setting of browse column FORMAT inside the ROW-DISPLAY trigger:
DEFINE VARIABLE hFrame AS HANDLE NO-UNDO.
DEFINE VARIABLE hBrowse AS HANDLE NO-UNDO.
DEFINE VARIABLE hQuery AS HANDLE NO-UNDO.
DEFINE VARIABLE hBuffer AS HANDLE NO-UNDO.
DEFINE VARIABLE hField AS HANDLE NO-UNDO.
DEFINE VARIABLE cQueryString AS CHARACTER NO-UNDO.
DEFINE VARIABLE hColumn AS HANDLE NO-UNDO.
DEFINE FRAME fBrowseFrame
WITH SIZE 80 BY 20 NO-LABELS.
CREATE BUFFER hBuffer FOR TABLE "Order" BUFFER-NAME "bOrder".
ASSIGN
hField = hBuffer:BUFFER-FIELD("orderdate")
hField:FORMAT = "99/99/9999"
hFrame = frame fBrowseFrame:HANDLE
cQueryString = "for each bOrder where bOrder.orderdate <> ? no-lock.".
CREATE QUERY hQuery.
hQuery:SET-BUFFERS(hBuffer).
hQuery:QUERY-PREPARE(cQueryString).
hQuery:QUERY-OPEN.
CREATE BROWSE hBrowse
ASSIGN
FRAME = hFrame
QUERY = hQuery
WIDTH = 60
DOWN = 5
ROW-MARKERS = NO
VISIBLE = YES
SENSITIVE = YES
READ-ONLY = YES
COLUMN-SCROLLING = YES
SEPARATORS = YES
EXPANDABLE = NO
COLUMN-RESIZABLE = YES.
ASSIGN
hColumn = hBrowse:ADD-LIKE-COLUMN ("order.ordernum")
hColumn = hBrowse:ADD-LIKE-COLUMN ("order.orderdate").
WAIT-FOR CLOSE OF THIS-PROCEDURE.