Focal Point
[CLOSED] BORDER in SUBHEAD (HTML)

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/1487085436

November 08, 2013, 11:10 AM
Piter
[CLOSED] BORDER in SUBHEAD (HTML)
Hi All,

Anybody have made working borders in SUBHEAD in HTML? Anything new to make this working in latest releases?

I need to make report with 4 levels in header ... really challenging without borders...

Piter

This message has been edited. Last edited by: <Kathryn Henning>,


Wf7704/WF8,Win64/32
November 08, 2013, 11:46 AM
icompute2
At the risk of being laughed at ... you can always draw lines with the underline character. However, this is one of the few areas where I haven't had trouble.
TABLE FILE CAR
HEADING
"This is the heading"
SUM SALES
BY COUNTRY
BY CAR
BY MODEL
BY BODYTYPE
ON COUNTRY SUBHEAD
"This is the country subhead"
ON CAR SUBHEAD
"This is the car subhead"
ON MODEL SUBHEAD
"This is the Model subhead"
ON BODYTYPE SUBHEAD
"this is the bodytype subhead"
-*
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
UNITS=IN, LEFTMARGIN=0.500, RIGHTMARGIN=0.500, TOPMARGIN=0.500,BOTTOMMARGIN=0.500,
ORIENTATION=PORTRAIT, PAGESIZE=LETTER, SQUEEZE=ON,
$
TYPE=REPORT,
GRID=OFF, FONT='TAHOMA', SIZE=9, COLOR='BLACK', STYLE=NORMAL,
$
TYPE=HEADING,
BORDER-TOP = MEDIUM,
BORDER-TOP-STYLE = DASHED,
BORDER-BOTTOM=MEDIUM,
BORDER-BOTTOM-STYLE=DASHED,
TOPGAP=.1072,
BOTTOMGAP=.1072,
$
TYPE=HEADING,
LINE=1, ITEM=1, STYLE = BOLD, SIZE = 12, WIDTH = 7.4, JUSTIFY = CENTER,
$
TYPE=SUBHEAD, BY=COUNTRY,
BORDER-BOTTOM = ON, COLOR=RED,
$
TYPE=SUBHEAD, BY=COUNTRY, LINE=1, ITEM = 1, SIZE = 11,
$
TYPE=SUBHEAD, BY=CAR,
BORDER-BOTTOM = ON,
$
TYPE=SUBHEAD, BY=CAR, LINE=1, ITEM = 1, SIZE = 11, COLOR=BLUE,
$
TYPE=SUBHEAD, BY=MODEL,
BORDER-BOTTOM = ON, COLOR=GREEN,
$
TYPE=SUBHEAD, BY=MODEL, LINE=1, ITEM = 1, SIZE = 11,
$
TYPE=SUBHEAD, BY=BODYTYPE,
BORDER-BOTTOM = ON, COLOR=ORANGE,
$
TYPE=SUBHEAD, BY=BODYTYPE, LINE=1, ITEM = 1, SIZE = 11,
$
ENDSTYLE
END

gives a bottom border after each subhead.


WebFOCUS 8.0.5,
MS SQL Server
November 08, 2013, 11:54 AM
Piter
Wink Wink Wink

no, I am thinking between 2 chooses -
(a) create lines in hold file and put header there, then use macros on each cell - this is quite lot of work or
(b) use simple titles and leave customer with simplified titles/header


Wf7704/WF8,Win64/32
November 08, 2013, 01:41 PM
icompute2
simple is usually best. But I don't understand why you asked about HTML and borders


WebFOCUS 8.0.5,
MS SQL Server
November 08, 2013, 02:44 PM
Piter
what is strange? I need to create complicated header for WF report with output HTML (in pdf it seems borders works).

You can look there
http://www.eba.europa.eu/docum...17-af6e-57c71f4dd1fb

report 28 ("sheet 27-31") is an example of header what I need to create.


Wf7704/WF8,Win64/32
November 08, 2013, 06:54 PM
njsden
quote:
Anybody have made working borders in SUBHEAD in HTML?


If your solution is intended to work in HTML only, how about this:

DEFINE FILE CAR
BRK/A1 = ' ';
END

TABLE FILE CAR
PRINT
        HEIGHT   AS ''
        FUEL_CAP AS ''
COMPUTE EXP/A200 = COUNTRY || (' - ' | CAR) || (' - ' | BODYTYPE) || (' - ' | MODEL); AS ''
COMPUTE LIM/A20 = 'LE ' | FPRINT(SEATS, 'I4', 'A4'); AS ''

BY BRK NOPRINT
BY HEIGHT NOPRINT

WHERE RECORDLIMIT EQ 10

ON BRK SUBHEAD
"LARGE EXPOSURES TEMPLATES"
"Template number<+0>Template code<+0>Name of the template / group of templates<+0>Short name"
" <+0> <+0>LARGE EXPOSURES<+0>LE"

ON TABLE SET BYDISPLAY ON
ON TABLE SET PAGE NOPAGE
ON TABLE SET HTMLCSS ON
ON TABLE HOLD AS HREPORT FORMAT HTMTABLE
ON TABLE SET STYLE *
UNITS=PTS, $
TYPE=REPORT, BORDER=1, FONT='CALIBRI', SIZE=10, $
TYPE=REPORT, COLUMN=P1, WRAP=50, JUSTIFY=CENTER, $
TYPE=REPORT, COLUMN=P2, WRAP=50, JUSTIFY=CENTER, $
$
TYPE=SUBHEAD, BY=BRK, BACKCOLOR='SILVER', STYLE=BOLD, JUSTIFY=CENTER, HEADALIGN=BODY, $
TYPE=SUBHEAD, BY=BRK, LINE=1, CLASS=subhead_c, COLSPAN=4, $
$
TYPE=SUBHEAD, BY=BRK, LINE=2, CLASS=subhead_c, $
TYPE=SUBHEAD, BY=BRK, LINE=2, OBJECT=TEXT, ITEM=3, CLASS=subhead_l, $
$
TYPE=SUBHEAD, BY=BRK, LINE=3, CLASS=subhead_l, $
ENDSTYLE
END
-RUN

-HTMLFORM BEGIN
<!DOCTYPE html>
<html lang="en">
<head>
<title>Sample heading with borders</title>
<style>
td.subhead_c,td.subhead_l {
   border-collapse: collapse;
   border-style: solid;
   border-width: 1pt;
   background-color: rgb(192, 192, 192);
   font-family: Calibri;
   font-size: 10pt;
   font-weight: bold;
}
td.subhead_c { text-align: center; }
td.subhead_l { text-align: left; }
</style>
</head>
<body>
!IBI.FIL.HREPORT;
</body>
</html>
-HTMLFORM END


This is what the report output would look like, trying to simulate the sample in your Excel document:



Hope this helps.



Prod/Dev: WF Server 8008/Win 2008 - WF Client 8008/Win 2008 - Dev. Studio: 8008/Windows 7 - DBMS: Oracle 11g Rel 2
Test: Dev. Studio 8008 /Windows 7 (Local) Output:HTML, EXL2K.
November 09, 2013, 04:11 AM
Piter
njsden, this is extremely helpful! it's show also the way, how I can make rounded borders or use external styles etc. thank you a lot!

It works with EXL2K. It does not work with pdf (Multiple panels are not supported with ) - I need to look what to do there

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


Wf7704/WF8,Win64/32
November 10, 2013, 12:19 AM
njsden
You're welcome. I'm glad it helped.

For PDF, you will probably be better off using HEADING instead of SUBHEAD as WebFOCUS StyleSheets support inner borders within headings.

Although those are also supported in HTML format, there is an annoying side effect of using borders which creates a blank line separating the HEADING from the report content which unfortunately breaks the output you need. That is why I had to use SUBHEAD instead.

The same effect is also seen in PDF but you it can be overridden by using SET DROPBLNKLINE. Why IBI did it for PDF and not for HTML or EXL2K is beyond me but that's unfortunately the way it is.

So the bottom line is, try to use HEADING with regular StyleSheets for PDF and SUBHEAD along with external CSS for HTML/EXL2K. Hopefully this will get you closer to the results you need.

Regards,
Neftali.



Prod/Dev: WF Server 8008/Win 2008 - WF Client 8008/Win 2008 - Dev. Studio: 8008/Windows 7 - DBMS: Oracle 11g Rel 2
Test: Dev. Studio 8008 /Windows 7 (Local) Output:HTML, EXL2K.
November 10, 2013, 01:08 AM
njsden
This is something you can use for PDF output. It does not give you as much control as using external CSS in HTML and getting the proper combination of margins and column width may be a bit tricky but in any case this should give you an idea. With some patience and time devotion you can make it work as close as possible as you need Smiler

Note the use of SET DROPBLNKLINE=HEADING at the top of the request which will make that annoying blank line between HEADING and report "body" disappear.

SET DROPBLNKLINE=HEADING

TABLE FILE CAR
PRINT 
     CAR.SPECS.HEIGHT AS ''
     CAR.SPECS.FUEL_CAP AS ''
     COMPUTE EXP/A100V = COUNTRY || ( ' - ' | CAR ) || ( ' - ' | BODYTYPE ) || ( ' - ' | MODEL ); AS ''
     COMPUTE LIM/A20V = 'LE ' | FPRINT(SEATS, 'I4', 'A4'); AS ''
BY  CAR.SPECS.HEIGHT NOPRINT
HEADING
"LARGE EXPOSURES TEMPLATES<+0> <+0> <+0> "
"Template number<+0>Template code<+0>Name of the template / group of templates<+0>Short name"
" <+0> <+0>LARGE EXPOSURES<+0>LE"
WHERE RECORDLIMIT EQ 10
ON TABLE SET PAGE NOPAGE
ON TABLE SET BYDISPLAY ON 
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
     UNITS=PTS,
     PAGESIZE='Letter',
     ORIENTATION=LANDSCAPE,
     RIGHTMARGIN=38,
$
TYPE=REPORT, BORDER-TOP=1, BORDER-BOTTOM=1, BORDER-LEFT=1, BORDER-RIGHT=1, FONT='CALIBRI', SIZE=8, RIGHTGAP=2, LEFTGAP=2,
$
TYPE=HEADING, BORDERALL=MEDIUM, BACKCOLOR='SILVER', STYLE=BOLD, JUSTIFY=CENTER, HEADALIGN=BODY, $
TYPE=HEADING, LINE=1, OBJECT=TEXT, ITEM=1, COLSPAN=4, $
TYPE=HEADING, LINE=2, OBJECT=TEXT, ITEM=1, SIZE=7, $
TYPE=HEADING, LINE=2, OBJECT=TEXT, ITEM=2, SIZE=7, $
TYPE=HEADING, LINE=2, OBJECT=TEXT, ITEM=3, JUSTIFY=LEFT, $
TYPE=HEADING, LINE=2, OBJECT=TEXT, ITEM=4, JUSTIFY=LEFT, $
TYPE=HEADING, LINE=3, JUSTIFY=LEFT, $
$
TYPE=REPORT, COLUMN=N2, WRAP=60, JUSTIFY=CENTER, $
TYPE=REPORT, COLUMN=N3, WRAP=60, JUSTIFY=CENTER, $
TYPE=REPORT, COLUMN=N4, WRAP=500, $
TYPE=REPORT, COLUMN=N5, WRAP=100, $
$
ENDSTYLE
END




Prod/Dev: WF Server 8008/Win 2008 - WF Client 8008/Win 2008 - Dev. Studio: 8008/Windows 7 - DBMS: Oracle 11g Rel 2
Test: Dev. Studio 8008 /Windows 7 (Local) Output:HTML, EXL2K.