Focal Point Banner


As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.

Join the TIBCO Community
TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.

  • From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
  • Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
  • Request access to the private WebFOCUS User Group (login required) to network with fellow members.

Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.


Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [CLOSED] Freeze column headings (and row titles) in HTML output????
Page 1 2 

Read-Only Read-Only Topic
Go
Search
Notify
Tools
[CLOSED] Freeze column headings (and row titles) in HTML output????
 Login/Join
 
Platinum Member
posted
We have a fairly wide and long report and being that most of our users are used to "Excel" type functionality, we need the ability to freeze the column headings as the user scrolls through several screens of rows. The other need is the ability to freeze the row title -- for example our leftmost column would be customer and then there are 20 columns of data associated with that customer and as the user scrolls left to right, the customer will disappear. Obviously the point of all this is the fact that the user cannot tell what column or row they are looking at unless they are constantly highlighting and scrolling back and forth/up and down.

A couple of considerations -- I know I can create a pagebreak to be more frequent so it simply repeats the column headings -- but honestly I think that looks pretty bad and simply blows the report out to be even longer than it is now. I've considered putting the customer as the right-most column ALSO, and although that might take care of the problem on reports 1 & 2, it may not work for reports 3 & 4 that are even wider. The last consideration is to put the report into an Excel template that has the "freeze panes" property already set. Haven't tried this yet, so don't know if it will work for certain, but I'm not a big fan of this. Not going to go into a lot explanation, but just would prefer the HTML format for now.

Any thoughts?

This message has been edited. Last edited by: Kerry,



Production: 7.6.6 WF Server  <=>  7.6.6 WF Client  <=>  7.6.6 Dev Studio
Testing: <none>
Using MRE & BID.  Connected to MS SQL Server 2005
Output Types: HTML, Excel, PDF
 
Posts: 230 | Location: Wichita, KS | Registered: May 27, 2005Report This Post
Virtuoso
posted Hide Post
Okay, now this is a completely dumb response. Can't the user of the spreadsheet use the freeze functionality of Excel themselves or do the recipients lack that knowledge. The freeze panes is under the Excel Window option. Position cursor at point wanted and 'freeze'. Sorry I used to teach an Excel class


Leah
 
Posts: 1317 | Location: Council Bluffs, IA | Registered: May 24, 2004Report This Post
Platinum Member
posted Hide Post
Leah, sorry, but I think you might have skipped over some of my post. We prefer HTML output in this particular report -- I don't want to have to send it to an Excel output.



Production: 7.6.6 WF Server  <=>  7.6.6 WF Client  <=>  7.6.6 Dev Studio
Testing: <none>
Using MRE & BID.  Connected to MS SQL Server 2005
Output Types: HTML, Excel, PDF
 
Posts: 230 | Location: Wichita, KS | Registered: May 27, 2005Report This Post
Member
posted Hide Post
Tray,

The JS sync() function within this FEX example will at least freeze your column headings, as well as allow you to scroll left and right. The trick is to create a TITLE file and a DATA file with exactly the same widths, so when you do scroll, they stay in sync, hence the 'width' setting in the SPAN commands. And because you're declaring the DEFINEd fields with the SPAN command in it as an Alpha, you have to convert all numbers to Alpha (FTOA).

You also have to 'play' with the !IBI.FIL Heights, as they can vary.

Good Luck!

Craig Kozlow

-*
-*-------------------------- T I T L E   C R E A T I O N ----------------------------------------
-*
-SET &TITLE1  = '<SPAN STYLE="cursor:hand" STYLE="width:180px" STYLE="text-align:center"> Country';
-SET &TITLE2  = '<SPAN STYLE="cursor:hand" STYLE="width:180px" STYLE="text-align:center"> Car';
-SET &TITLE3  = '<SPAN STYLE="cursor:hand" STYLE="width:220px" STYLE="text-align:center"> Model';
-SET &TITLE4  = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Body Type';
-SET &TITLE5  = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Seats';
-SET &TITLE6  = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Dealer Cost';
-SET &TITLE7  = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Retail Cost';
-SET &TITLE8  = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Length';
-SET &TITLE9  = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Width';
-SET &TITLE10 = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Height';
-SET &TITLE11 = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Weight';
-SET &TITLE12 = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Wheelbase';
-SET &TITLE13 = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Fuel Cap';
-SET &TITLE14 = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> BHP';
-SET &TITLE15 = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> RPM';
-SET &TITLE16 = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> MPG';
-SET &TITLE17 = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Accel';
-*
SET PAGE = NOLEAD
SET LINES = 995
-RUN

TABLE FILE CAR
BY COUNTRY        AS '&TITLE1'
BY CAR            AS '&TITLE2'
PRINT MODEL       AS '&TITLE3'
      BODYTYPE    AS '&TITLE4'
      SEATS       AS '&TITLE5'
      DEALER_COST AS '&TITLE6'
      RETAIL_COST AS '&TITLE7'
      LENGTH      AS '&TITLE8'
      WIDTH       AS '&TITLE9'
      HEIGHT      AS '&TITLE10'
      WEIGHT      AS '&TITLE11'
      WHEELBASE   AS '&TITLE12'
      FUEL_CAP    AS '&TITLE13'
      BHP         AS '&TITLE14'
      RPM         AS '&TITLE15'
      MPG         AS '&TITLE16'
      ACCEL       AS '&TITLE17'
-*
IF RECORDLIMIT IS 1
-*
ON TABLE NOTOTAL
ON TABLE SET STYLE *
PAGESIZE = 'SCREEN',
LEFTMARGIN = 0.000000,
RIGHTMARGIN = 0.000000,
TOPMARGIN = 0.000000,
BOTTOMMARGIN= 0.000000,
SQUEEZE = ON,
ORIENTATION = 'LANDSCAPE',
$
TYPE=REPORT,GRID = OFF,FONT = ARIAL,SIZE = 9,$
TYPE=TITLE,HGRID=ON,STYLE=BOLD,JUSTIFY=CENTER, BACKCOLOR=BLUE, COLOR=WHITE,$
ENDSTYLE
ON TABLE HOLD AS TFILE FORMAT HTML
END
-RUN
-*
-*-------------------------- D A T A   C R E A T I O N ------------------------------------
-*
DEFINE FILE CAR
A_SEATS/A10        = FTOA(SEATS,'(D7B)',A_SEATS);
A_DEALER_COST/A10  = FTOA(DEALER_COST,'(D7B)',A_DEALER_COST);
A_RETAIL_COST/A10  = FTOA(RETAIL_COST,'(D7B)',A_RETAIL_COST);
A_SALES/A10        = FTOA(SALES,'(D7B)',A_SALES);
A_LENGTH/A10       = FTOA(LENGTH,'(D7B)',A_LENGTH);
A_WIDTH/A10        = FTOA(WIDTH,'(D7B)',A_WIDTH);
A_HEIGHT/A10       = FTOA(HEIGHT,'(D7B)',A_HEIGHT);
A_WEIGHT/A10       = FTOA(WEIGHT,'(D7B)',A_WEIGHT);
A_WHEELBASE/A10    = FTOA(WHEELBASE,'(D6.1B)',A_WHEELBASE);
A_FUEL_CAP/A10     = FTOA(FUEL_CAP,'(D6.1B)',A_FUEL_CAP);
A_BHP/A10          = FTOA(BHP,'(D7B)',A_BHP);
A_RPM/A10          = FTOA(RPM,'(D7B)',A_RPM);
A_MPG/A10          = FTOA(MPG,'(D7B)',A_MPG);
A_ACCEL/A10        = FTOA(ACCEL,'(D7B)',A_ACCEL);
-*
D_COUNTRY/A100     = '<SPAN STYLE="text-ALIGN:LEFT"  STYLE="WIDTH:180px">'|COUNTRY||'</SPAN>';
D_CAR/A100         = '<SPAN STYLE="text-ALIGN:LEFT"  STYLE="WIDTH:180px">'|CAR||'</SPAN>';
D_MODEL/A100       = '<SPAN STYLE="text-ALIGN:LEFT"  STYLE="WIDTH:220px">'|MODEL||'</SPAN>';
D_BODYTYPE/A100    = '<SPAN STYLE="text-ALIGN:LEFT"  STYLE="WIDTH:80px">'|BODYTYPE||'</SPAN>';
D_SEATS/A100       = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_SEATS||'</SPAN>';
D_DEALER_COST/A100 = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_DEALER_COST||'</SPAN>';
D_RETAIL_COST/A100 = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_RETAIL_COST||'</SPAN>';
D_LENGTH/A100      = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_LENGTH||'</SPAN>';
D_WIDTH/A100       = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_WIDTH||'</SPAN>';
D_HEIGHT/A100      = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_HEIGHT||'</SPAN>';
D_WEIGHT/A100      = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_WEIGHT||'</SPAN>';
D_WHEELBASE/A100   = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_WHEELBASE||'</SPAN>';
D_FUEL_CAP/A100    = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_FUEL_CAP||'</SPAN>';
D_BHP/A100         = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_BHP||'</SPAN>';
D_RPM/A100         = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_RPM||'</SPAN>';
D_MPG/A100         = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_MPG||'</SPAN>';
D_ACCEL/A100       = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_ACCEL||'</SPAN>';
-*
END
-RUN
-*
TABLE FILE CAR
PRINT
      D_COUNTRY      AS ''
      D_CAR          AS ''
      D_MODEL        AS ''
      D_BODYTYPE     AS ''
      D_SEATS        AS ''
      D_DEALER_COST  AS ''
      D_RETAIL_COST  AS ''
      D_LENGTH       AS ''
      D_WIDTH        AS ''
      D_HEIGHT       AS ''
      D_WEIGHT       AS ''
      D_WHEELBASE    AS ''
      D_FUEL_CAP     AS ''
      D_BHP          AS ''
      D_RPM          AS ''
      D_MPG          AS ''
      D_ACCEL        AS ''
-*
BY COUNTRY NOPRINT
BY CAR NOPRINT
ON TABLE SET STYLE *
UNITS=IN, PAGESIZE='Letter', LEFTMARGIN=0.250000, RIGHTMARGIN=0.250000,
    TOPMARGIN=0.0000000, BOTTOMMARGIN=0.000000, SQUEEZE=ON,
    ORIENTATION=PORTRAIT,GRID=OFF, $
TYPE=REPORT, GRID=OFF, STYLE=NORMAL, FONT=ARIAL, SIZE=9, BACKCOLOR=NONE,$
TYPE=DATA,BACKCOLOR=(RGB(255 255 255) RGB(232 232 238)),$
ENDSTYLE
ON TABLE HOLD AS DFILE FORMAT HTML
END
-RUN
-*
-SET &RPTDATE = EDIT(&MDYY,'99/99/9999');
-**************
-HTMLFORM BEGIN
-**************
-*
<html>
<head>
-*
-******************************************************************
-* Function to Keep the titles aligned with the data (onscroll=).
-******************************************************************
-*
<script>
function sync()
{
var left = document.all("data").scrollLeft;
document.all("title").scrollLeft = left;
}
</script>
-*
</head>
-*
<body BGCOLOR="#FFFFFF" TOPMARGIN="0" LEFTMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0" TEXT="#000000">
-*
-*
-**********************************************
-* Displays HEADING
-**********************************************
-*
<table width="95%" border="0" cellspacing="1" cellpadding="1" align="center">
  <tr><td align="center"><font face=helvetica color="red" size=4>[b]Scrolling Example[/b]</td></tr>
  <tr><td align="center"><font face=helvetica color="blue" size=4>[b]Additional Headings Here[/b]</td></tr>
  <tr><td > </td></tr>
</table>
-*
-**********************************************
-* Displays TITLES
-**********************************************
-*
<tbody>
 <tr width="95%">
  <td>
   <div id=title style="OVERFLOW:hidden; HEIGHT:25px; WIDTH:95%" ; style="position:relative;left:1.5%"; ALIGN=CENTER>
    <table border=0>
     <tbody>
      <tr>
       <td>
         !IBI.FIL.TFILE;
       </td>
      </tr>
     </tbody>
    </table>
   </div>
  </td>
 </tr>
-*
-**********************************************
-* Displays REPORT
-**********************************************
-*
<tr>
 <td>
   <div onscroll=sync[) id=data style="OVERFLOW:auto; HEIGHT:300px; WIDTH:97%"; style="position:relative;left:1.5%"; ALIGN=CENTER>
    <table border=0 >
     <tbody>
      <tr>
       <td>
        !IBI.FIL.DFILE;
       </td>
      </tr>
     </tbody>
    </table>
   </div>
  </td>
</tr>
</table>
</TBODY>
</TABLE>
</body>
</html>
-*
-************
-HTMLFORM END
-************
-*

This message has been edited. Last edited by: Kerry,


PROD:WebFOCUS 7.6.11 on UNIX accessing FOCUS, Oracle, SQLServer
TEST: WebFOCUS 7.7.1 on UNIX accessing FOCUS, Oracle, SQLServer
 
Posts: 28 | Location: USA | Registered: March 24, 2005Report This Post
Member
posted Hide Post
Let's try it again, this time 'disabling HTML' ... (duh!)

-*
-*-------------------------- T I T L E   C R E A T I O N ----------------------------------------
-*
-SET &TITLE1  = '<SPAN STYLE="cursor:hand" STYLE="width:180px" STYLE="text-align:center"> Country';
-SET &TITLE2  = '<SPAN STYLE="cursor:hand" STYLE="width:180px" STYLE="text-align:center"> Car';
-SET &TITLE3  = '<SPAN STYLE="cursor:hand" STYLE="width:220px" STYLE="text-align:center"> Model';
-SET &TITLE4  = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Body Type';
-SET &TITLE5  = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Seats';
-SET &TITLE6  = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Dealer Cost';
-SET &TITLE7  = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Retail Cost';
-SET &TITLE8  = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Length';
-SET &TITLE9  = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Width';
-SET &TITLE10 = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Height';
-SET &TITLE11 = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Weight';
-SET &TITLE12 = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Wheelbase';
-SET &TITLE13 = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Fuel Cap';
-SET &TITLE14 = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> BHP';
-SET &TITLE15 = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> RPM';
-SET &TITLE16 = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> MPG';
-SET &TITLE17 = '<SPAN STYLE="cursor:hand" STYLE="width:80px"  STYLE="text-align:center"> Accel';
-*
SET PAGE = NOLEAD
SET LINES = 995
-RUN

TABLE FILE CAR
BY COUNTRY        AS '&TITLE1'
BY CAR            AS '&TITLE2'
PRINT MODEL       AS '&TITLE3'
      BODYTYPE    AS '&TITLE4'
      SEATS       AS '&TITLE5'
      DEALER_COST AS '&TITLE6'
      RETAIL_COST AS '&TITLE7'
      LENGTH      AS '&TITLE8'
      WIDTH       AS '&TITLE9'
      HEIGHT      AS '&TITLE10'
      WEIGHT      AS '&TITLE11'
      WHEELBASE   AS '&TITLE12'
      FUEL_CAP    AS '&TITLE13'
      BHP         AS '&TITLE14'
      RPM         AS '&TITLE15'
      MPG         AS '&TITLE16'
      ACCEL       AS '&TITLE17'
-*
IF RECORDLIMIT IS 1
-*
ON TABLE NOTOTAL
ON TABLE SET STYLE *
PAGESIZE = 'SCREEN',
LEFTMARGIN = 0.000000,
RIGHTMARGIN = 0.000000,
TOPMARGIN = 0.000000,
BOTTOMMARGIN= 0.000000,
SQUEEZE = ON,
ORIENTATION = 'LANDSCAPE',
$
TYPE=REPORT,GRID = OFF,FONT = ARIAL,SIZE = 9,$
TYPE=TITLE,HGRID=ON,STYLE=BOLD,JUSTIFY=CENTER, BACKCOLOR=BLUE, COLOR=WHITE,$
ENDSTYLE
ON TABLE HOLD AS TFILE FORMAT HTML
END
-RUN
-*
-*-------------------------- D A T A   C R E A T I O N ------------------------------------
-*
DEFINE FILE CAR
A_SEATS/A10        = FTOA(SEATS,'(D7B)',A_SEATS);
A_DEALER_COST/A10  = FTOA(DEALER_COST,'(D7B)',A_DEALER_COST);
A_RETAIL_COST/A10  = FTOA(RETAIL_COST,'(D7B)',A_RETAIL_COST);
A_SALES/A10        = FTOA(SALES,'(D7B)',A_SALES);
A_LENGTH/A10       = FTOA(LENGTH,'(D7B)',A_LENGTH);
A_WIDTH/A10        = FTOA(WIDTH,'(D7B)',A_WIDTH);
A_HEIGHT/A10       = FTOA(HEIGHT,'(D7B)',A_HEIGHT);
A_WEIGHT/A10       = FTOA(WEIGHT,'(D7B)',A_WEIGHT);
A_WHEELBASE/A10    = FTOA(WHEELBASE,'(D6.1B)',A_WHEELBASE);
A_FUEL_CAP/A10     = FTOA(FUEL_CAP,'(D6.1B)',A_FUEL_CAP);
A_BHP/A10          = FTOA(BHP,'(D7B)',A_BHP);
A_RPM/A10          = FTOA(RPM,'(D7B)',A_RPM);
A_MPG/A10          = FTOA(MPG,'(D7B)',A_MPG);
A_ACCEL/A10        = FTOA(ACCEL,'(D7B)',A_ACCEL);
-*
D_COUNTRY/A100     = '<SPAN STYLE="text-ALIGN:LEFT"  STYLE="WIDTH:180px">'|COUNTRY||'</SPAN>';
D_CAR/A100         = '<SPAN STYLE="text-ALIGN:LEFT"  STYLE="WIDTH:180px">'|CAR||'</SPAN>';
D_MODEL/A100       = '<SPAN STYLE="text-ALIGN:LEFT"  STYLE="WIDTH:220px">'|MODEL||'</SPAN>';
D_BODYTYPE/A100    = '<SPAN STYLE="text-ALIGN:LEFT"  STYLE="WIDTH:80px">'|BODYTYPE||'</SPAN>';
D_SEATS/A100       = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_SEATS||'</SPAN>';
D_DEALER_COST/A100 = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_DEALER_COST||'</SPAN>';
D_RETAIL_COST/A100 = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_RETAIL_COST||'</SPAN>';
D_LENGTH/A100      = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_LENGTH||'</SPAN>';
D_WIDTH/A100       = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_WIDTH||'</SPAN>';
D_HEIGHT/A100      = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_HEIGHT||'</SPAN>';
D_WEIGHT/A100      = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_WEIGHT||'</SPAN>';
D_WHEELBASE/A100   = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_WHEELBASE||'</SPAN>';
D_FUEL_CAP/A100    = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_FUEL_CAP||'</SPAN>';
D_BHP/A100         = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_BHP||'</SPAN>';
D_RPM/A100         = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_RPM||'</SPAN>';
D_MPG/A100         = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_MPG||'</SPAN>';
D_ACCEL/A100       = '<SPAN STYLE="text-ALIGN:RIGHT" STYLE="WIDTH:80px">'|A_ACCEL||'</SPAN>';
-*
END
-RUN
-*
TABLE FILE CAR
PRINT
      D_COUNTRY      AS ''
      D_CAR          AS ''
      D_MODEL        AS ''
      D_BODYTYPE     AS ''
      D_SEATS        AS ''
      D_DEALER_COST  AS ''
      D_RETAIL_COST  AS ''
      D_LENGTH       AS ''
      D_WIDTH        AS ''
      D_HEIGHT       AS ''
      D_WEIGHT       AS ''
      D_WHEELBASE    AS ''
      D_FUEL_CAP     AS ''
      D_BHP          AS ''
      D_RPM          AS ''
      D_MPG          AS ''
      D_ACCEL        AS ''
-*
BY COUNTRY NOPRINT
BY CAR NOPRINT
ON TABLE SET STYLE *
UNITS=IN, PAGESIZE='Letter', LEFTMARGIN=0.250000, RIGHTMARGIN=0.250000,
    TOPMARGIN=0.0000000, BOTTOMMARGIN=0.000000, SQUEEZE=ON,
    ORIENTATION=PORTRAIT,GRID=OFF, $
TYPE=REPORT, GRID=OFF, STYLE=NORMAL, FONT=ARIAL, SIZE=9, BACKCOLOR=NONE,$
TYPE=DATA,BACKCOLOR=(RGB(255 255 255) RGB(232 232 238)),$
ENDSTYLE
ON TABLE HOLD AS DFILE FORMAT HTML
END
-RUN
-*
-SET &RPTDATE = EDIT(&MDYY,'99/99/9999');
-**************
-HTMLFORM BEGIN
-**************
-*
<html>
<head>
-*
-******************************************************************
-* Function to Keep the titles aligned with the data (onscroll=).
-******************************************************************
-*
<script>
function sync()
{
var left = document.all("data").scrollLeft;
document.all("title").scrollLeft = left;
}
</script>
-*
</head>
-*
<body BGCOLOR="#FFFFFF" TOPMARGIN="0" LEFTMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0" TEXT="#000000">
-*
-*
-**********************************************
-* Displays HEADING
-**********************************************
-*
<table width="95%" border="0" cellspacing="1" cellpadding="1" align="center">
  <tr><td align="center"><font face=helvetica color="red" size=4>[b]Scrolling Example[/b]</td></tr>
  <tr><td align="center"><font face=helvetica color="blue" size=4>[b]Additional Headings Here[/b]</td></tr>
  <tr><td > </td></tr>
</table>
-*
-**********************************************
-* Displays TITLES
-**********************************************
-*
<tbody>
 <tr width="95%">
  <td>
   <div id=title style="OVERFLOW:hidden; HEIGHT:20px; WIDTH:95%" ; style="position:relative;left:1.5%"; ALIGN=CENTER>
    <table border=0>
     <tbody>
      <tr>
       <td>
         !IBI.FIL.TFILE;
       </td>
      </tr>
     </tbody>
    </table>
   </div>
  </td>
 </tr>
-*
-**********************************************
-* Displays REPORT
-**********************************************
-*
<tr>
 <td>
   <div onscroll=sync() id=data style="OVERFLOW:auto; HEIGHT:300px; WIDTH:97%"; style="position:relative;left:1.5%"; ALIGN=CENTER>
    <table border=0 >
     <tbody>
      <tr>
       <td>
        !IBI.FIL.DFILE;
       </td>
      </tr>
     </tbody>
    </table>
   </div>
  </td>
</tr>
</table>
</TBODY>
</TABLE>
</body>
</html>
-*
-************
-HTMLFORM END
-************
-* 

This message has been edited. Last edited by: Kerry,


PROD:WebFOCUS 7.6.11 on UNIX accessing FOCUS, Oracle, SQLServer
TEST: WebFOCUS 7.7.1 on UNIX accessing FOCUS, Oracle, SQLServer
 
Posts: 28 | Location: USA | Registered: March 24, 2005Report This Post
Platinum Member
posted Hide Post
Your example works great and I think I understand where you're going with it. I'm going to try to create a report on our end that does the same.

Thanks for the help -- I'll keep you posted.



Production: 7.6.6 WF Server  <=>  7.6.6 WF Client  <=>  7.6.6 Dev Studio
Testing: <none>
Using MRE & BID.  Connected to MS SQL Server 2005
Output Types: HTML, Excel, PDF
 
Posts: 230 | Location: Wichita, KS | Registered: May 27, 2005Report This Post
Expert
posted Hide Post
simpler: SET WEBVIEWER = ON
before generating your html output.
see if you like ; you might not, but then again, you might. At least it will buy you some time, while you work on the scripting method (which DOES work in email, by the way Wink )

This message has been edited. Last edited by: susannah,




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
 
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003Report This Post
Platinum Member
posted Hide Post
quote:
Originally posted by susannah:
simpler: SET WEBVIEWER = ON
before generating your html output.
see if you like ; you might not, but then again, you might. At least it will buy you some time, while you work on the scripting method (which DOES work in email, by the way Wink )


Actually I didn't see much change in behavior by using this method. Obviously it pops up in the webfocus viewer, but the headings still scroll off the page the same as before. Should I have seen a different behavior?



Production: 7.6.6 WF Server  <=>  7.6.6 WF Client  <=>  7.6.6 Dev Studio
Testing: <none>
Using MRE & BID.  Connected to MS SQL Server 2005
Output Types: HTML, Excel, PDF
 
Posts: 230 | Location: Wichita, KS | Registered: May 27, 2005Report This Post
Expert
posted Hide Post
yes Trav, you should see the headings re-appear at the top of every page. Thats not what you're seeing??? hmmm. je suis puzzled.




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
 
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003Report This Post
Platinum Member
posted Hide Post
Well, actually I am not using page breaks, so I think I know what you're getting at. If I hadn't set my lines property then I'd see them repeated. I'll consider that as an option...

Thanks!



Production: 7.6.6 WF Server  <=>  7.6.6 WF Client  <=>  7.6.6 Dev Studio
Testing: <none>
Using MRE & BID.  Connected to MS SQL Server 2005
Output Types: HTML, Excel, PDF
 
Posts: 230 | Location: Wichita, KS | Registered: May 27, 2005Report This Post
Expert
posted Hide Post
Trav, page breaks aren't an issue at all.
make sure you've got
SET WEBVIEWER = ON
and then write any fex bits that will give you a nice long list, nothing fancy.
What you see as a a result is a whole new window thing, with arrows on the bottom, to page you thru, one page at a time, each page has the header repeated; quite nice.
SET LINES = 60 or some low number

This message has been edited. Last edited by: susannah,




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
 
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003Report This Post
Platinum Member
posted Hide Post
I guess I didn't look close enough last time because it is doing what you indicated. Just a little strange because even with this on, the headings still scroll off the page. I think that I saw that last time and just thought it didn't work...

Seems okay, nothing too exciting though.

I'm still working on the method that Craig suggested though as I think even though the effort is going to be high for me, that it will be the most seamless to the user.



Production: 7.6.6 WF Server  <=>  7.6.6 WF Client  <=>  7.6.6 Dev Studio
Testing: <none>
Using MRE & BID.  Connected to MS SQL Server 2005
Output Types: HTML, Excel, PDF
 
Posts: 230 | Location: Wichita, KS | Registered: May 27, 2005Report This Post
Platinum Member
posted Hide Post
I thought I'd post an update because I continued to work on this and found another method using CSS. I really like this because it doesn't require coding 2 separate report layouts and the column width can still be dynamic. You can also completely control the look and feel since it's using CSS. This is a very simple example, but should give you the idea of how it can be implemented.

First file is the CSS -- mine is called travtest.css, but you can call it anything as long as you put the appropriate name and path in the FEX:

div#tbl-container {
width: expression(document.body.clientWidth-20); /*800px;*/
height: expression(document.body.clientHeight-30); /*500px;*/
overflow: auto;
}



table {
border-collapse: collapse;
background-color: white;
z-index:1
}

	

thead th {
top: expression(document.getElementById("tbl-container").scrollTop-2); /* IE5+ only */
z-index: 20;
}


td {
border-left: 1px solid black;
border-top: 1px solid black;
padding-right: 10px;
}

td.report_data {
border-left: 1px solid black;
border-top: 1px solid black;
padding-right: 10px;
}

td.locked {
left: expression(document.getElementById("tbl-container").scrollLeft); /* IE5+ only */
position: relative;
background-color: white;
border-right: 1px solid black;
padding-top: 1px;
padding-bottom: 1px;
z-index: 10;
}


td.column_title {
position:relative;
top: expression(document.getElementById("tbl-container").scrollTop); /* IE5+ only */
background-color: white;
border: none;
border-bottom: 1px solid black;
border-left: 1px solid black;
padding-right: 10px;
padding-left: 10px;
text-align: center;
font-weight: bold;
z-index: 20;
}


td.column_title_1 {
position:relative;
left: expression(document.getElementById("tbl-container").scrollLeft); /* IE5+ only */
top: expression(document.getElementById("tbl-container").scrollTop); /* IE5+ only */
font-weight: bold;
text-align: left;
border: none;
border-bottom: 1px solid black;
border-left: 1px solid black;
border-right: 1px solid black;
background-color: white;
z-index: 30;
}

td.column_group {
position:relative;
top: expression(document.getElementById("tbl-container").scrollTop); /* IE5+ only */
background-color: white;
border: none;
border-bottom: 1px solid black;
text-align: center;
font-weight: bold;
z-index: 20;
}


td.report_title {
position:relative;
left: expression(document.getElementById("tbl-container").scrollLeft); /* IE5+ only */
top: expression(document.getElementById("tbl-container").scrollTop); /* IE5+ only */
font-weight: bold;
font-size: 10pt;
text-align: center;
background-color: white;
border: none;
z-index: 30;
}



Next file is the FEX -- should pretty much run as-is, just check the path and name of the CSS referenced herein:

TABLE FILE CAR
PRINT
     CAR
     MODEL
     BODYTYPE
     SEATS
     DEALER_COST
     RETAIL_COST
     SALES
     LENGTH
     WIDTH
     HEIGHT
     WEIGHT
     WHEELBASE
     FUEL_CAP
     BHP
     RPM
     MPG
     ACCEL
ON TABLE SUBHEAD
"reportheading"
HEADING
"pageheading"
ON TABLE SET PAGE-NUM OFF
ON TABLE NOTOTAL
ON TABLE HOLD AS REPORT FORMAT HTML
ON TABLE SET PAGE NOLEAD
ON TABLE SET HTMLCSS ON
ON TABLE SET CSSURL 'c:\travtest.css'
ON TABLE SET STYLE *
     UNITS=IN,
     PAGESIZE='SCREEN',
     LEFTMARGIN=0.000000,
     RIGHTMARGIN=0.000000,
     TOPMARGIN=0.000000,
     BOTTOMMARGIN=0.000000,
     SQUEEZE=ON,
     ORIENTATION=LANDSCAPE,
	 GRID=OFF,
$
TYPE=REPORT,
     FONT='ARIAL',
     SIZE=8,
     COLOR='BLACK',
     BACKCOLOR='WHITE',
     STYLE=NORMAL,
     RIGHTGAP=0.0,
     TOPGAP=0.0,
     BOTTOMGAP=0.0,
	 GRID=OFF,
$
TYPE=DATA,
	 CLASS=report_data,
$
TYPE=DATA,
     COLUMN=N1,
	 CLASS=locked,
$
TYPE=TITLE,
	 CLASS=column_title,
$
TYPE=TITLE,
     COLUMN=N1,
	 CLASS=column_title_1,
$
TYPE=TABHEADING,
     SIZE=12,
     STYLE=BOLD,
     HEADALIGN=BODY,
	 COLSPAN=20,
	 CLASS=report_title,
$
TYPE=HEADING,
     SIZE=10,
     STYLE=BOLD,
     HEADALIGN=BODY,
	 COLSPAN=20,
	 CLASS=report_title,
$
ENDSTYLE
END
-HTMLFORM BEGIN
<HTML>
<DIV id=tbl-container>
!IBI.FIL.REPORT;
</DIV>
</HTML>
-HTMLFORM END




And because I want to give credit where credit is due, my inspiration came from the following website -- just click on examples and check out his stuff...

http://web.tampabay.rr.com/bmerkey/



Production: 7.6.6 WF Server  <=>  7.6.6 WF Client  <=>  7.6.6 Dev Studio
Testing: <none>
Using MRE & BID.  Connected to MS SQL Server 2005
Output Types: HTML, Excel, PDF
 
Posts: 230 | Location: Wichita, KS | Registered: May 27, 2005Report This Post
Platinum Member
posted Hide Post
Forgot to mention, when you run the above example, the table will fit to the size of your browser window. So for the full effect, you'll want to resize your browser window to be smaller than the actual report data -- that way you have both horizontal and vertical scroll bars. Once you do that, try scrolling both ways and see the results...

Enjoy!



Production: 7.6.6 WF Server  <=>  7.6.6 WF Client  <=>  7.6.6 Dev Studio
Testing: <none>
Using MRE & BID.  Connected to MS SQL Server 2005
Output Types: HTML, Excel, PDF
 
Posts: 230 | Location: Wichita, KS | Registered: May 27, 2005Report This Post
Member
posted Hide Post
Here is another example of how to do this. It is simpler but less powerful that the above examples, but doesnt require much coding.. :-)

I got this example from my collegue Fred Stevens.

-* Floating headings
TABLE FILE CAR
HEADING
" "
PRINT *
ON TABLE HOLD FORMAT HTMTABLE
ON TABLE SET PAGE NOPAGE
END
-RUN

-HTMLFORM BEGIN
<html>
<style>
table {
font-family : verdana;
font-size : 11pt;
}

.topTitle {
top: expression(document.body.top = document.body.scrollTop );
}
</style>

<body>
!IBI.FIL.HOLD;
</body>
<script>
var allTR = document.all.tags("TR");
allTR[2].style.position = 'absolute';
allTR[2].style.backgroundColor = 'silver';
allTR[2].className = 'topTitle';
</script>
</html>
-HTMLFORM END


Success,
Paul


Paul Burridge
Senior Consultant
34 years with Information Builders
WebFOCUS 8.2.5 Win10
 
Posts: 17 | Location: The Netherlands | Registered: February 21, 2005Report This Post
Expert
posted Hide Post
Trav, your code is beyond wicked cool.
I'm having trouble with 1 thing, if you would help.
1. It seems that SET LINES=nnn totally kills the SET PAGE=NOLEAD feature
which of course means that the databody re-appears above the tabhead as you scroll.
Making me crazy.
Any idea how i can fix?
UPDATE: SET LINES = 999 kills the NOLEAD
BUT... SET LINES =998 or lower WORKS!
I remember tripping over this 'feature' before..in some other incarnation.

2.any idea how i can get the underlines out of the column titles?
i figured out this icky workaround
<style>
u { text-decoration:none}
</style>

but i'ld like to know the FOCUS way to get the U tags to stop surrounding them.
UPDATE: francis reminds (below) that we did figure out a cooler, more direct, way
PRINT SALES AS 'SALES,' ...that comma nicely nukes the underline

3. a single drilldown works, but a multidrill throws the whole shebang out of whack.

and it works in email as an attachment, does work in exporting to excel as a webquery, but doesn't print.
so a 'printer friendly version' button might be a good option for users to add, figuring out how to change the target.

This message has been edited. Last edited by: susannah,




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
 
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003Report This Post
Expert
posted Hide Post
Heres another example.

Its a script file that when added to a page will freeze the titles.

create a script file iba_freeze.js with the code below, save it in an app directory

and follow the instructions in the file.

This is a work in progress, but the titles doo freeze, columns may not.

// Add SET JSURLS = '/url1 /url2 /urln' to the fex
//
// SET JSURLS = '/approot/ibutil/js/iba_freeze.js [_Freeze={amt}]'
// SET LINES = 999999
//
// E.G.
// SET JSURLS = '/approot/ibutil/js/iba_freeze.js _Freeze=2,1'
//
// Where
// _Freeze={amt}: Optional
// amt: either 'def' or 'n1,n2'
// n1: number of heading lines and title lines
// n2: number of columns
//
// _Freeze=2,1 (2 heading lines and title lines and 1 column)
//
// also set LINES to 999999 to remove other header and titles from the report
//
function iba_freezeOnLoadFunc() {
var _Freeze = 'def' ;
var _Toc = false ;

_Body = document.body ;

for (_c1=0;_c1<ibiOptions.length;_c1++) {
var _Frz1 = ibiOptions[_c1].split('=') ;
switch (_Frz1[0]) {
case '_Freeze':
if (_Frz1.length==1) {
_Freeze = 'def' ;
}
else {
_Freeze = _Frz1[1] ;
}
break ;
case 'toc':
_Toc = true ;
break ;
}
}
if (_Toc) {
window.status = 'Freeze disabled for TOC' ;
return ;
}
var _FRow = 1 ;
var _FCol = 0 ;
if (_Freeze!='def') {
_FBits = _Freeze.split(',') ;
_FRow = parseInt(_FBits[0]) ;
if (_FBits.length<2) {
_FCol = 0;
}
else {
_FCol = parseInt(_FBits[1]) ;
}
}

var _Kids = _Body.children ;
for (var _c1=0;_c1<_Kids.length;_c1++) {
if (_Kids[_c1].tagName!='TABLE') continue ;
funPrepRpt(_Kids[_c1],_FRow,_FCol) ;
_c1+=2;
}
}
function funPrepRpt(_Obj,_FRow,_FCol) {
var _tble = _Obj.cloneNode(false) ;
var _html = _tble.outerHTML ;
_html = _html.substr(0,_html.length-8) ;

var _Rows = _Obj.rows ;
var _xCols=0 ;
var _xColn=0 ;

for (var _c2=0;_c2<_FRow;_c2++) {
_html+= _Rows[_c2].outerHTML ;
_xColn = (_xCols<_Rows[_c2].cells.length)?_c2:_xColn;
_xCols = (_xCols<_Rows[_c2].cells.length)?_Rows[_c2].cells.length:_xCols;
}

_html+= '</TABLE>' ;

_Body.style.overflow = 'hidden' ;

_Div1 = _Obj.insertAdjacentElement('beforeBegin', document.createElement('DIV')) ;

with (_Div1.style) {
position = 'absolute' ;
overflow = 'auto' ;
top = 0 ;
left = 0 ;
width = _Body.clientWidth ;
height = _Body.clientHeight ;
paddingTop= _Obj.offsetTop ;
zIndex = 0 ;
}

var _Obj = _Div1.insertAdjacentElement('afterBegin', _Obj) ;

with (_Obj.style) {
marginRight = 0 ;
}

_Div2 = _Div1.insertAdjacentElement('afterEnd', document.createElement('DIV')) ;

with (_Div2.style) {
position = 'absolute' ;
top = 0 ;
left = 0 ;
zIndex = 999 ;
}

_Div2.insertAdjacentHTML('afterBegin', _html) ;

var _nTab = _Div2.children[0] ;
with (_nTab.style) {
position = 'absolute' ;
width = _Obj.offsetWidth ;
}

with (_Div2.style) {
backgroundColor = _Body.currentStyle.backgroundColor ;
width = _Div1.clientWidth ;
height = _nTab.offsetHeight + _Obj.offsetTop - 2 ;
overflow = 'hidden' ;
}

var _nRows = _nTab.rows;

for (var _c3=0;_c3<_Rows[_xColn].cells.length;_c3++) {
_Cell = _Rows[_xColn].cells[_c3] ;
_nRows[_xColn].cells[_c3].style.width = _Cell.clientWidth - 2 ;
}

_Div1.onscroll=function() {_Div2.scrollLeft=_Div1.scrollLeft;_Div3.scrollTop=_Div1.scrollTop;}

_Div3 = _Div2.insertAdjacentElement('afterEnd', document.createElement('DIV')) ;

if (_FCol>0) {
var _tbl2 = _Obj.cloneNode(true) ;
var _Div4 = _Div2.cloneNode(true) ;
var _Div4 = _Div3.insertAdjacentElement('afterEnd', _Div4) ;
var _tbl4 = _Div4.children[0] ;
var _ColGrp2 = _tbl2.insertAdjacentElement('afterBegin',document.createElement("COLGROUP")) ;
var _ColGrp4 = _tbl4.insertAdjacentElement('afterBegin',document.createElement("COLGROUP")) ;
for (_c3=0;_c3<_Rows[_xColn].cells.length;_c3++) {
if (_c3<_FCol) {
_Column = _ColGrp2.appendChild(document.createElement('<col style="display:block;">')) ;
_Column = _ColGrp4.appendChild(document.createElement('<col style="display:block;">')) ;
}
else {
_Column = _ColGrp2.appendChild(document.createElement('<col style="display:none;">')) ;
_Column = _ColGrp4.appendChild(document.createElement('<col style="display:none;">')) ;
}
}

_tbl2 = _Div3.insertAdjacentElement('afterBegin', _tbl2) ;

/*
for (var _c4=0;_c4<_tbl2.rows.length;_c4++) {
_Row = _tbl2.rows[_c4] ;
with (_Row.style) {
overflow = 'hidden' ;
if (_Row.cells.length<_xCols) {
visibility = 'hidden' ;
}
}
}
*/

with (_Div3.style) {
position = 'absolute' ;
overflow = 'hidden' ;
backgroundColor = _Body.currentStyle.backgroundColor ;
top = 0 ;
left = 0 ;
height = _Div1.clientHeight ;
paddingTop= _Obj.offsetTop ;
zIndex = 1 ;
}
with (_Div4.style) {
removeAttribute('width') ;
zIndex = 1999 ;
}
with (_tbl4.style) {
removeAttribute('position') ;
removeAttribute('width') ;
marginRight = '0px' ;
}
}
}


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

 
Posts: 6347 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006Report This Post
Expert
posted Hide Post
Susannah, the only two ways to get rid of the column title underlines are the CSS way or turning the GRID on in the WebFOCUS stylesheet.

Oh, you probably don't remember, but there's this: https://forums.informationbuilders.com/eve/forums/a/tpc/...981087331#1981087331


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
Platinum Member
posted Hide Post
2. Actually, I found this and it seems to work for me. (7.1.4)

Change the TYPE=TITLE block in the FEX to this:
TYPE=TITLE,
	 STYLE=-UNDERLINE,
	 CLASS=column_title,
$


1. As far as the SET LINES=nnn problem, I don't know yet. I see the behavior you're talking about, but I have to set nnn pretty low.

We are actually using SET LINES=998 with success, but mostly because I wanted to set it so large that no titles repeated. I saw some wierd behavior with this and ultimately couldn't set it as high as I really wanted to. If I remember correctly, it seemed to just stop doing anything once I got into larger numbers. 998 is what I ended up using and am in production with.

3. Haven't tried multi-drill downs yet, but I'll play with it.



Production: 7.6.6 WF Server  <=>  7.6.6 WF Client  <=>  7.6.6 Dev Studio
Testing: <none>
Using MRE & BID.  Connected to MS SQL Server 2005
Output Types: HTML, Excel, PDF
 
Posts: 230 | Location: Wichita, KS | Registered: May 27, 2005Report This Post
Expert
posted Hide Post
ohhhh.
thanks for that reminder. mind like a steel trap, you've got!




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
 
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003Report This Post
Expert
posted Hide Post
quote:
STYLE=-UNDERLINE,
doesn't work in WF 5.3:

TABLE FILE CAR
SUM
SALES
BY COUNTRY
HEADING
"WEBFOCUS REPORT"
ON TABLE SET PAGE NOLEAD
ON TABLE SET STYLESHEET *
GRID=OFF,
FONT='ARIAL', SIZE=8, $
TYPE=TITLE, STYLE=-UNDERLINE, $
END


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
Platinum Member
posted Hide Post
quote:
Originally posted by Francis Mariani:
doesn't work in WF 5.3:


Dang, I think that's twice in the last 2 weeks I've suggested something that doesn't work in 5.3 but does in 7.1.x Frowner

I guess you all just need to upgrade so my suggestions work. Smiler



Production: 7.6.6 WF Server  <=>  7.6.6 WF Client  <=>  7.6.6 Dev Studio
Testing: <none>
Using MRE & BID.  Connected to MS SQL Server 2005
Output Types: HTML, Excel, PDF
 
Posts: 230 | Location: Wichita, KS | Registered: May 27, 2005Report This Post
Expert
posted Hide Post
Hey, it's good news that it works like it looks like it's supposed to work!


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
Expert
posted Hide Post
The other thing to remember is that the "CLASS=classname" in the WebFOCUS stylesheet is a reference to an external cascading style sheet (CSS) and therefore is not a true WebFOCUS solution (i.e. it uses a CSS file).

I think that this is the piece that is actually doing the work in your example as well Trav as Francis' sample fex above doesn't get rid of the underline in 7.1.3 either Frowner

Mind you, if you add the line "ON TABLE SET HTMLCSS ON" to the sample, then the underline is gone and does provide the pure WebFOCUS solution?

T



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
 
Posts: 5694 | Location: United Kingdom | Registered: April 08, 2004Report This Post
Platinum Member
posted Hide Post
For across reports, I simply applied the "column_title" class to the ACROSSVALUE and ACROSSTITLE.

Here's an example -- no changes to the CSS:
TABLE FILE CAR
PRINT
     CAR
     MODEL
ACROSS  BODYTYPE
ON TABLE SUBHEAD
"reportheading"
HEADING
"pageheading"
ON TABLE SET PAGE-NUM OFF
ON TABLE NOTOTAL
ON TABLE HOLD AS REPORT FORMAT HTML
ON TABLE SET PAGE NOLEAD
ON TABLE SET HTMLCSS ON
ON TABLE SET CSSURL 'c:\column_freeze.css'
ON TABLE SET STYLE *
     UNITS=IN,
     PAGESIZE='SCREEN',
     LEFTMARGIN=0.000000,
     RIGHTMARGIN=0.000000,
     TOPMARGIN=0.000000,
     BOTTOMMARGIN=0.000000,
     SQUEEZE=ON,
     ORIENTATION=LANDSCAPE,
	 GRID=OFF,
$
TYPE=REPORT,
     FONT='ARIAL',
     SIZE=8,
     COLOR='BLACK',
     BACKCOLOR='WHITE',
     STYLE=NORMAL,
     RIGHTGAP=0.0,
     TOPGAP=0.0,
     BOTTOMGAP=0.0,
	 GRID=OFF,
$
TYPE=DATA,
	 CLASS=report_data,
$
TYPE=TITLE,
	 CLASS=column_title,
$
TYPE=ACROSSVALUE,
	 CLASS=column_title,
$
TYPE=ACROSSTITLE,
	 CLASS=column_title,
$
TYPE=TABHEADING,
     SIZE=12,
     STYLE=BOLD,
     HEADALIGN=BODY,
	 COLSPAN=20,
	 CLASS=report_title,
$
TYPE=HEADING,
     SIZE=10,
     STYLE=BOLD,
     HEADALIGN=BODY,
	 COLSPAN=20,
	 CLASS=report_title,
$
ENDSTYLE
END
-HTMLFORM BEGIN
<HTML>
<DIV id=tbl-container>
!IBI.FIL.REPORT;
</DIV>
</HTML>
-HTMLFORM END



Production: 7.6.6 WF Server  <=>  7.6.6 WF Client  <=>  7.6.6 Dev Studio
Testing: <none>
Using MRE & BID.  Connected to MS SQL Server 2005
Output Types: HTML, Excel, PDF
 
Posts: 230 | Location: Wichita, KS | Registered: May 27, 2005Report This Post
Member
posted Hide Post
Hi,

since i had a lot of trouble with this topic, somebody might be interested:

These pages helped me a lot to solve my problem-

http://www.cubido.at/Blog/tabid/176/EntryID/91/Default.aspx IE http://www.cubido.at/Blog/tabid/176/EntryID/94/Default.aspx IE+FF

I only had to make some DOM-modifications to my ready-made reports, but as soon my report fit the example, it worked fine.

But, the larger the reports get, the bigger is the amount of memory allocated, mostly due to the clonenode() methods involved (cpu as well). Not all my clients have >= 1GB RAM, so this gets quite slow - we switch to the Webviewer for Reports above a certain size.

Greets
Werner

----------------------------------
Prod: WebFOCUS 7.1.1 - Self Service - W2K3 - IIS 6.0
Devl: WebFOCUS 7.1.1 - Self Service - W2K3 - IIS 6.0
 
Posts: 7 | Location: Vienna, Austria | Registered: April 25, 2005Report This Post
Expert
posted Hide Post
i agree with werner about the memory issue , espec with both headers and columns frozen, its cool, but can be a memory hog,
so we offer a switch to either a 'printer friendly' version or to the webviewer version;




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
 
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003Report This Post
Expert
posted Hide Post
It makes me feel rather old when people indicate that not all machines have > 1Gb ram.

Just think that about 15 years ago most PCs (386 cpus - I will not admit to owning a 286 machine Music) you were lucky if you had a PC with a 40 Mb (yes megabyte not gigabyte) hard drive and 8 Mb of ram! When FOCUS first emerged on the MVS and VM mainframes all the programming was performed on 3179(?) dumb terminals (what was a PC anyway?) and Bill Gate$ was going to the bank to borrow $100,000 (or something like that) to buy an operating sytem.

Ah, progress ... or ... the good old days??????????

Pass me my zimmer frame

An Old Git
 
Posts: 5694 | Location: United Kingdom | Registered: April 08, 2004Report This Post
Gold member
posted Hide Post
In the bmerkey link from Trav's post, the following note appears within:

Note: For very large tables, avoid performance problems by applying Internet Explorer's client-side data binding feature to divide data tables into "pages" with a set number of visible rows. This means that scripts and styles have only to act on the visible portion of the table, dramatically improving performance. Using data binding, tables with 1200 rows and 20 columns were tested with absolutely no performance issues.

Has anybody ever worked with client side data binding - it's a complete unknown to me. I really like the bmerkey solution, but I am seeing the performance issues. I'd love to know if anyone has an example of this binding working in a WebFocus context.
 
Posts: 59 | Location: Minneapolis | Registered: September 01, 2004Report This Post
Platinum Member
posted Hide Post
I didn't look too deep into it because it didn't seem to relate to a WebFOCUS solution -- but I could be mistaken.

From what I was able to gather, you use ASP (or the like) to actually bind an HTML element/control to a datasource. So rather than producing and loading the entire result set, you only produce the first visible portion of it and load that. So the point was that it would only load a few rows instead of everything. I think WebFOCUS has a similar concept where you navigate through "pages" of results. susannah had mentioned it previously in this thread by using the "SET WEBVIEWER = ON" method.

In my particular case, that sort of defeats our purpose for using this since we wanted the entire result set to be scrollable rather than having to page through it. Using a combination though, you might still be able to put it to use.

At any rate, I have NOT used the data binding.



Production: 7.6.6 WF Server  <=>  7.6.6 WF Client  <=>  7.6.6 Dev Studio
Testing: <none>
Using MRE & BID.  Connected to MS SQL Server 2005
Output Types: HTML, Excel, PDF
 
Posts: 230 | Location: Wichita, KS | Registered: May 27, 2005Report This Post
  Powered by Social Strata Page 1 2  

Read-Only Read-Only Topic

Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [CLOSED] Freeze column headings (and row titles) in HTML output????

Copyright © 1996-2020 Information Builders