Tabel wordt afgebroken einde pagina

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • St@m
  • Registratie: December 2001
  • Laatst online: 06:14

St@m

@ Your Service

Topicstarter
Mensen,

Vooropgesteld, ik ben een redelijke leek voor wat betreft HTML/CSS, maar ik snap de code over het algemeen wel, kan alleen zelf niet heel goed programmeren. Ik vind het leuk om te hobbyen. Meestal kom ik er wel uit, alleen dit keer echt niet, daarom dat ik jullie hulp inroep.

Op basis van een HTML bestand wil ik een Word document genereren, het gaat hier om een cv. De gegevens komen uit ons systeem, die kan ik oproepen met Cx script. Tot zover geen problemen.
De werkervaring van kandidaten wordt weergegeven in een tabel.
Deze tabel wordt meerdere malen weergegeven, voor iedere werkervaring 1 tabel. Punt is dat de tabel geen rekening houdt met de Word pagina en er dus midden in de tabel wordt afgebroken. Jammer, ziet er slordig uit.

Ik heb al verscheidene "avoid page break" dingen in mijn tabel en rijen gestopt, maar het werkt allemaal niet.

Hier de code van de tabel (ja, de opmaak zal ook wel bagger zijn, en er zullen vast dingen beter kunnen, maar graag de focus op het probleem) ;):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<cx:foreach item="work" list="$emp.workHistories.@sortDescending.startDate">
<table>
<tr>
<td class="style1orange" width="10%"><b>Opdrachtgever</b>
<td class="center">:
<td width="80%"><cx:write value="$work.employer" />
<tr>
<td class="style1orange"><b>Periode</b>
<td class="center">:
<td ><cx:Write  value="$work.startDate" dateformat="%m-%Y"/> - 
        <cx:if condition="work.endDate != nil">
            <cx:write  value="$work.endDate"  dateformat="%m-%Y"/>
        </cx:if>
        <cx:if condition="work.endDate  = nil">
            <cx:write value="heden"/>
        </cx:if>
<tr>
<td class="style1orange"><b>Functie</b>
<td class="center">:
<td><cx:write value="$work.function"/>
<tr>
<td class="style1orange" valign="top"><b>Werkzaamheden</b>
<td class="center" valign="top">:
<td><cx:write value="$work.info.characterEntityEncodedString.htmlString" invoke="localizedString" html="1"</cx:write>
<tr>
</table>
</cx:foreach>

vuurwerk - vlees eten - tuinkachel - bbq - alcohol - voetbalwedstrijden - buitenfestivals - houtkachels


Acties:
  • 0 Henk 'm!

  • TERW_DAN
  • Registratie: Juni 2001
  • Niet online

TERW_DAN

Met een hamer past alles.

Waarom sluit je je TRs en TDs niet af?
Kans dat het wel zou moeten werken, maar ik kan me goed voorstellen dat je op deze manier onverwachte dingen gaat krijgen.

Acties:
  • 0 Henk 'm!

  • St@m
  • Registratie: December 2001
  • Laatst online: 06:14

St@m

@ Your Service

Topicstarter
TERW_DAN schreef op donderdag 23 april 2015 @ 09:35:
Waarom sluit je je TRs en TDs niet af?
Kans dat het wel zou moeten werken, maar ik kan me goed voorstellen dat je op deze manier onverwachte dingen gaat krijgen.
Oh, ik dacht dat dat niet meer hoefde tegenwoordig :D

vuurwerk - vlees eten - tuinkachel - bbq - alcohol - voetbalwedstrijden - buitenfestivals - houtkachels


Acties:
  • 0 Henk 'm!

  • St@m
  • Registratie: December 2001
  • Laatst online: 06:14

St@m

@ Your Service

Topicstarter
Ok.. een oplossing gevonden..

code:
1
2
3
4
5
6
7
8
9
10
<style>
h4 {
    font-family: 'Century Gothic', CenturyGothic, AppleGothic, sans-serif;
    font-size: 10pt;
    color: #FF9D1E;
    margin-bottom: 0px;
    page-break-after:avoid;
    font-weight:bold;
}
</style>


En de tabel:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<cx:foreach item="work" list="$emp.workHistories.@sortDescending.startDate">
<table>
<tr>
<td width="10%"><h4>Opdrachtgever</h4></td>
<td class="center">:</td>
<td width="80%"><cx:write value="$work.employer" /></td>
</tr>
<tr>
<td><h4>Periode</h4></td>
<td class="center">:</td>
<td ><cx:Write  value="$work.startDate" dateformat="%m-%Y"/> - 
        <cx:if condition="work.endDate != nil">
            <cx:write  value="$work.endDate"  dateformat="%m-%Y"/>
        </cx:if>
        <cx:if condition="work.endDate  = nil">
            <cx:write value="heden"/>
        </cx:if></td>
</tr>
<tr>
<td><h4>Functie</h4></td>
<td class="center">:</td>
<td><cx:write value="$work.function"/></td>
</tr>
<tr>
<td valign="top"><h4>Werkzaamheden</h4></td>
<td class="center" valign="top">:</td>
<td><cx:write value="$work.info.characterEntityEncodedString.htmlString" invoke="localizedString" html="1"</cx:write></td>
</tr>
<tr>
</tr>
</table>
</cx:foreach>


Tja.. ik weet echt niet of dit goed of netjes is, maar het werkt :) Mocht iemand betere ideeën hebben hoor ik het natuurlijk graag.

vuurwerk - vlees eten - tuinkachel - bbq - alcohol - voetbalwedstrijden - buitenfestivals - houtkachels


Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Nu online
St@m schreef op donderdag 23 april 2015 @ 09:40:
[...]
Oh, ik dacht dat dat niet meer hoefde tegenwoordig :D
Ik zou daar sowieso niet vanuit gaan als je HTML naar Word toegooit. Beter is om een beetje terughoudend te zijn, zodat oudere versies het ook nog OK doen.

Acties:
  • 0 Henk 'm!

  • TERW_DAN
  • Registratie: Juni 2001
  • Niet online

TERW_DAN

Met een hamer past alles.

St@m schreef op donderdag 23 april 2015 @ 09:40:
[...]


Oh, ik dacht dat dat niet meer hoefde tegenwoordig :D
Grote kans dat shorthand gewoon werkt, maar ik zou er zelf redelijk conservatief mee zijn op het moment dat je eindresultaat niet is wat je verwacht. Als de interpreter het net effe wat anders doet dan je verwacht kun je dit soort dingen krijgen.

Acties:
  • 0 Henk 'm!

  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 29-09 15:25
TERW_DAN schreef op donderdag 23 april 2015 @ 09:35:
Waarom sluit je je TRs en TDs niet af?
Kans dat het wel zou moeten werken, maar ik kan me goed voorstellen dat je op deze manier onverwachte dingen gaat krijgen.
Waarom wel? :) "A td element’s end tag may be omitted if the td element is immediately followed by a td or th element, or if there is no more content in the parent element." (idem voor <tr>)

Toegegeven, als je iets met Word doet kun je het waarschijnlijk beter wel doen, want die HTML-renderer is een ramp, maar in HTML hoeft het niet :)

Full-stack webdeveloper in Groningen


Acties:
  • 0 Henk 'm!

  • TERW_DAN
  • Registratie: Juni 2001
  • Niet online

TERW_DAN

Met een hamer past alles.

Omdat het fout zou kunnen gaan, zeker in gevallen waarbij het niet werkt zoals verwacht zou dat mijn eerste stap zijn om te troubleshooten.
Pagina: 1