cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Learn all about PTC Community Badges. Engage with PTC and see how many you can earn! X

can't force rule after merged cell preceding footer

naglists
1-Newbie

can't force rule after merged cell preceding footer

Hi,

I've got a strange problem. Using Editor 5.3 m110 and the table included
below, I am unable to get a rule trailing the merged cell preceding the
footer. Anyone seen this before? Known bug or "feature"? Got a workaround?

I manually added the rowsep="1" on the cell in question. The table
interface wouldn't do it.

<table frame="top">
<title>can't force rule after merged cell preceding footer </title>
<tgroup cols="4"><colspec colname="col1"/"><colspec colname="col2"/"><colspec<br/>colname="col3"/><colspec colname="col4"/">
<thead>
<row>
<entry colsep="0" valign="top">
<para>Header</para>
</entry>
<entry colsep="0" valign="top"></entry>
<entry colsep="0" valign="top"></entry>
<entry colsep="0" valign="top"></entry>
</row>
</thead>
<tfoot>
<row>
<entry colsep="0" valign="top">
<para>Footer</para>
</entry>
<entry colsep="0" valign="top"></entry>
<entry colsep="0" valign="top"></entry>
<entry colsep="0" valign="top"></entry>
</row>
</tfoot>
<tbody>
<row>
<entry colsep="0">
<para>one</para>
</entry>
<entry colsep="0" morerows="1" rowsep="1">
<para>I should have a trailing rule.</para>
</entry>
<entry colsep="0">
<para>three</para>
</entry>
<entry colsep="0">
<para>four</para>
</entry>
</row>
<row>
<entry colsep="0">
<para>five</para>
</entry>
<entry colsep="0">
<para>six</para>
</entry>
<entry colsep="0">
<para>7</para>
</entry>
</row>
</tbody>
</tgroup>
</table>

--
Paul Nagai
15 REPLIES 15

This may seem a little simplistic, but I have had this problem and try turning the ruling on in the foot row instead of the header row. When you merge cells, its like Arbortext makes up its own mind on which row will show the rowsep.

in this line ---

<entry colsep="0" morerows="1" rowsep="1">

-- take out morerows="1" rowsep="1" so that its just <entry colsep="0">

that seemed to work for me.


The content requires the merged cell, though. Removing the morerows removes
the merge. Or am I missing something?

Hi Sindy,

I'm all for simplicity, but I don't follow. I know I can set rowsep in the
footer, but that would control the rule after the footer (which we don't
want). The footer's cell borders reports both top and bottom rules
(although there clearly isn't one *after* the footer. At least that's true
for me.

I should say, "the Table properties dialog displays the footer's top and
bottom rules as 'on' ..."

Paul,
Did you try <table frame="topbottom">? Or what the correct syntax would be there?

Hi Trudy,

frame="topbot" does correctly display the rule after the merged cell,
however, it also displays a rule after the footer which is not desired.

Support confirms the bug. There is a fix in 6.0 m010.


I should have been more specific. Sorry. Go into each entry cell of the footer row and using the Table border GUI, set the rowsep to top. If your footer row is spanned, you may have to unspan it and turn your colsep to off in the row before it will work.

A work around I know, but it's the way I get mine to work.
At least "they" are aware of it and working on it.
Sindy

While in a footer cell, the left half of the Modify Cell Borders dialog
displays the following four choices:

None
All
Left & Right
Top & Bottom

The right half of the Modify Cell Borders dialog displays three or four
unlabeled buttons allowing me to set the border for:

Top
Bottom
Left
Right

When in the first or last cell, the left or right border button is not
displayed as those are controlled by the table border settings.

So ... I can turn the top or bottom rule off on the footer row. I want the
bottom off and can set it correctly. The top button feedback is that the
top rule is on, however no markup reflecting that is in the XML. Rowsep, as
I understand it, controls the trailing rule.

So ... I'm stlil not able to do what you're suggesting OR I am able to but
it still doesn't give me the output I'm after.

My first "hack" was to manually set the rowsep="1" in the XML of the
<entry> representing the merged cell. No rule is generated. I had to "hack"
it because the Modify Cell Borders dialog for the merged cell does not
display a bottom button to press.


It's a little ugly (wouldn't be a workaround if it wasn't, right?),
but try adding an extra row at the start of the footer, leaving all
the cells blank and setting the row height to 0pt. The rules applied
to the "bottom" of that row should overlap with the rules of the last
row before the footer.

-Brandon 🙂


I tried something very similar (0in 😉 but the row still output. I removed
all cellpadding from the table. Stlil no good. I set txtbrk or whatever to
endln=0, startln=0 (or whatever) on gi="row" (or was it gi="entry") and
still no good. Then I abandoned that avenue ...

Currently working on faking a footer font in a "real" row. It won't support
tables breaking across pages, but I think I can get it to work as long as
the table doesn't break.

On Fri, Dec 2, 2011 at 3:11 PM, Brandon Ibach <
brandon.ibach@single-sourcing.com> wrote:

> It's a little ugly (wouldn't be a workaround if it wasn't, right?),
> but try adding an extra row at the start of the footer, leaving all
> the cells blank and setting the row height to 0pt. The rules applied
> to the "bottom" of that row should overlap with the rules of the last
> row before the footer.
>
> -Brandon 🙂
>
>
>

I put your table into a new Docbook document in Styler 5.3 M010 and
made the change as I described, which worked perfectly, as least in
Print Preview. The exact markup was as below. Not sure what other
twists and turns you might have in your setup that are keeping this
from working. 😞

<table frame="top">
<title>can't force rule after merged cell preceding footer</title>
<tgroup cols="4">
<colspec colname="col1"/">
<colspec colname="col2"/">
<colspec colname="col3"/">
<colspec colname="col4"/">
<thead>
<row><entry colsep="0" valign="top"><para>Header</para></entry><entry<br/>colsep="0" valign="top"></entry><entry colsep="0" valign="top"></entry>
<entry colsep="0" valign="top"></entry></row>
</thead>
<tfoot>
<row>

<entry colsep="0" valign="top"></entry>
<entry colsep="0" valign="top"></entry>
<entry colsep="0" valign="top"></entry>
<entry colsep="0" valign="top"></entry>
</row>
<row>
<entry colsep="0" valign="top"><para>Footer</para></entry>
<entry colsep="0" valign="top"></entry>
<entry colsep="0" valign="top"></entry>
<entry colsep="0" valign="top"></entry>
</row>
</tfoot>
<tbody>
<row>
<entry colsep="0"><para>one</para></entry>
<entry colsep="0" morerows="1" rowsep="0"><para>I should have a trailing
rule</para></entry>
<entry colsep="0"><para>three</para></entry>
<entry colsep="0"><para>four</para></entry>
</row>
<row>
<entry colsep="0" rowsep="0"><para>five</para></entry>
<entry colsep="0" rowsep="0"><para>six</para></entry>
<entry colsep="0" rowsep="0"><para>7</para></entry>
</row>
</tbody>
</tgroup>
</table>

-Brandon 🙂


Thanks, Brandon. I got that to work. Strange. I know I worked with a 0
height row. I know I worked with putting it at the end of the table (not in
the footer). I can't remember if I tried it in the footer, though. I also
know I worked with 0in, not 0pt. Turns out the interface "fails" if you try
and set a row height to fixed = 0in. You don't get a warning or any
feedback, but nothing actually gets set. I didn't notice that until now. I
had been working in Edit source as XML since I was also playing with
setting rowsep in places the interface wouldn't put them so I may not have
actually run across that little failing ... and of course I kept reworking
my same file, so I can't go back and figure out where/what exactly I
did/didn't do.

Anyhow ... thanks again! My users will be happy for a fix / trick /
workaround / whatever this is.

And, tables are what? TSOS! (Hi, Lynn! Or was that Ed?)



On Fri, Dec 2, 2011 at 5:16 PM, Brandon Ibach <
brandon.ibach@single-sourcing.com> wrote:

> I put your table into a new Docbook document in Styler 5.3 M010 and
> made the change as I described, which worked perfectly, as least in
> Print Preview. The exact markup was as below. Not sure what other
> twists and turns you might have in your setup that are keeping this
> from working. 😞
>
> <table frame="top">
> <title>can't force rule after merged cell preceding footer</title>
> <tgroup cols="4">
> <colspec colname="col1"/">
> <colspec colname="col2"/">
> <colspec colname="col3"/">
> <colspec colname="col4"/">
> <thead>
> <row><entry colsep="0" valign="top"><para>Header</para></entry><entry<br/>> colsep="0" valign="top"></entry><entry colsep="0" valign="top"></entry>
> <entry colsep="0" valign="top"></entry></row>
> </thead>
> <tfoot>
> <row>
>
> <entry colsep="0" valign="top"></entry>
> <entry colsep="0" valign="top"></entry>
> <entry colsep="0" valign="top"></entry>
> <entry colsep="0" valign="top"></entry>
> </row>
> <row>
> <entry colsep="0" valign="top"><para>Footer</para></entry>
> <entry colsep="0" valign="top"></entry>
> <entry colsep="0" valign="top"></entry>
> <entry colsep="0" valign="top"></entry>
> </row>
> </tfoot>
> <tbody>
> <row>
> <entry colsep="0"><para>one</para></entry>
> <entry colsep="0" morerows="1" rowsep="0"><para>I should have a trailing
> rule</para></entry>
> <entry colsep="0"><para>three</para></entry>
> <entry colsep="0"><para>four</para></entry>
> </row>
> <row>
> <entry colsep="0" rowsep="0"><para>five</para></entry>
> <entry colsep="0" rowsep="0"><para>six</para></entry>
> <entry colsep="0" rowsep="0"><para>7</para></entry>
> </row>
> </tbody>
> </tgroup>
> </table>
>
> -Brandon 🙂
>
>
>

Paul,


I'm sure, as someone replied with, there is a bug that is now fixed in 6.0 M010. However, to explain what's happening, the last row you have that includes the spanned column is the "bottom" of the table. That's why the frame="topbot" puts a line there. However, as you noted, it also will put a line under the footer, which you do not want.


Due to the way tables work in Arbortext, there is often a time where we want to manipulate the behavoir. One of those methods of manipulation is to place a row somewhere with a "0" height. (Since I use CP, as well, I use "0.0001pt".) Anyway, it places a row somewhere that has all the properties of a row without the height being shown. The method that Brandon gave is an excellent example of this technique.


By placing a row with "0" height at the end of the table, that new rowis now taking the place of the "last" row in the table. Therefore, your row with a span in it will be allowed to operate normally, or at least as expected. The last row in the table is always controlled by the "frame" attribute on the table.


Hope this helps,


Bob

Announcements

Top Tags