Kbase 20760: ADM2: How to Change Column Labels / Dynamic SmartDataBrowser (SDB)
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  16/10/2008 |
|
Status: Verified
GOAL:
How to change the column labels on a Dynamic SmartDataBrowser (SDB)
FACT(s) (Environment):
Progress ADM2
Progress 9.x
FIX:
DEFINE VARIABLE hColumn AS HANDLE NO-UNDO.
DEFINE VARIABLE cDisplayedFields AS CHARACTER NO-UNDO.
DEFINE VARIABLE cFieldHandles AS CHARACTER NO-UNDO.
DEFINE VARIABLE cCurColLabel AS CHARACTER NO-UNDO.
DEFINE VARIABLE cNewColLabel AS CHARACTER NO-UNDO.
DEFINE VARIABLE iCurColLabelFont AS INTEGER NO-UNDO.
DEFINE VARIABLE iCurColWidthPixels AS INTEGER NO-UNDO.
DEFINE VARIABLE iNewColWidthPixels AS INTEGER NO-UNDO.
/* Find The Handle Of The Column Whose Label We Want to Change */
ASSIGN cDisplayedFields = DYNAMIC-FUNCTION('getDisplayedFields' IN h_dynbrowser)
cFieldHandles = DYNAMIC-FUNCTION('getFieldHandles' IN h_dynbrowser)
hColumn = WIDGET-HANDLE(ENTRY(LOOKUP('Cust-Num',
cDisplayedFields),cFieldHandles)).
/* Save The Columns Attributes So We Can Properly Resize It */
ASSIGN iCurColLabelFont = hColumn:LABEL-FONT
iCurColWidthPixels = hColumn:WIDTH-PIXELS
cCurColLabel = hColumn:LABEL.
/* Calculate The Needed Column Width For The New Label */
ASSIGN cNewColLabel = 'Some New Label'
iNewColWidthPixels = FONT-TABLE:GET-TEXT-WIDTH-PIXELS(
cNewColLabel,iCurColLabelFont).
/* Change Column Label And Set Proper Column Size */
ASSIGN hColumn:LABEL = cNewColLabel
hColumn:WIDTH-PIXELS = MAXIMUM(iCurColWidthPixels,
iNewColWidthPixels).
/* Reopen The Query */
DYNAMIC-FUNCTION('openQuery' IN h_dcustomer).