Issue 43411

Summary: Complex Table does not break when merged more than 2 levels
Product: Writer Reporter: ologgio <ologgio>
Component: viewingAssignee: AOO issues mailing list <issues>
Status: CONFIRMED --- QA Contact:
Severity: Trivial    
Priority: P3 CC: bobharvey, chandlerb, cynwong12, debyld, ed_elliott, halmai, info, issues, leiflodahl, mstuff, na1000, petermayne, sven.burmeister, utomo.prawiro
Version: 680m79Keywords: ms_interoperability, oooqa
Target Milestone: ---   
Hardware: All   
OS: All   
URL: http://www.newsfromgod.com/ologgio/Defect.odt
Issue Type: ENHANCEMENT Latest Confirmation in: ---
Developer Difficulty: ---
Attachments:
Description Flags
Data does not show - cursor goes btwn page 2 and 3
none
Table does not break in an Imported .doc
none
Table does not break in an Imported .doc
none
Problem is on page 2
none
pagebreak in table: Screenshot to locate problem
none
pagebreak in table: problem between page 3 and 4 none

Description ologgio 2005-02-23 18:06:58 UTC
The following  Document does not display properly (it was originally imported
from MSWORD). The cursor goes outside of page boundaries (between page 2 and 3)
into the middle of the gray background and some of the data in the document is
not displayed at all. 

You can make some of the data appear if you change the page margins, but the
data should have wrapped to the next page. There should be no hidden data in
between pages.

I doubt the problem is in the import from MSWORD, the problem seems to be with
the actual viewing of the document. You can download the document from 
http://www.newsfromgod.com/ologgio/Defect.odt

Thanks.
In the Holy Eucharist,
Omar
Comment 1 ologgio 2005-02-23 18:10:45 UTC
Created attachment 22962 [details]
Data does not show - cursor goes btwn page 2 and 3
Comment 2 eric.savary 2005-02-24 05:44:07 UTC
Not a p1 anyway. MRU plese have a look.
Comment 3 michael.ruess 2005-02-24 07:15:37 UTC
MRU->ologgio: There are some cells, which do not have the attribute which will
them allow to perform a page break. Select the whole table, go to "Table.Table
Properties" tabpage "Textflow". There, once disable the checkbox "Allow row to
break..." and again enable it. Click OK and the table formatting will look a lot
better now (not perfectly, but I hope this can be also solved in the future).
Comment 4 michael.ruess 2005-02-24 07:28:12 UTC
MRU->FL: I hand this over to you, as long as you are the UserEx contact for the
"Allow table cells to break" spec. 
THe algorithm has been limited to -I think- three levels of "complexity". Means,
when there are too deeply merged cells, the table will be split up though. As
you can see from the attached sample (enable "Allow row..." for whole table
first), there are still documents in the wide world, where this is used (esp.
break from page one onto page two).
Comment 5 ologgio 2005-02-25 20:45:02 UTC
MRU: Is the fact that the "Allow row to break..." property not set a problem
with the MSWORD import filter? The document was imported directly from Word. The
original word document is included in the attachment for this issue. Thanks for
your work!

In the Holy Eucharist,
Omar
Comment 6 michael.ruess 2006-11-29 12:00:36 UTC
Made summary a bit more precisely.
Comment 7 michael.ruess 2006-11-29 12:02:09 UTC
*** Issue 72088 has been marked as a duplicate of this issue. ***
Comment 8 michael.ruess 2006-12-12 10:28:33 UTC
*** Issue 72459 has been marked as a duplicate of this issue. ***
Comment 9 michael.ruess 2007-02-09 09:52:24 UTC
*** Issue 74281 has been marked as a duplicate of this issue. ***
Comment 10 michael.ruess 2008-01-03 08:46:01 UTC
*** Issue 84942 has been marked as a duplicate of this issue. ***
Comment 11 utomo99 2008-01-03 12:29:48 UTC
add keywords, cc
Follow up Issue 2109

Comment 12 gtimur 2008-12-22 18:42:41 UTC
While looking for a solution to my problem with an imported .doc with table, I
found this. It seems to open fine in OO 3.0. If fixed, please note.
Comment 13 gtimur 2008-12-22 18:54:10 UTC
Created attachment 58970 [details]
Table does not break in an Imported .doc
Comment 14 gtimur 2008-12-22 18:54:35 UTC
Created attachment 58971 [details]
Table does not break in an Imported .doc
Comment 15 gtimur 2008-12-22 19:01:14 UTC
While looking for a solution to my problem with a table that does not break in
imported .doc file, I found this "defect.doc". It seemed to me to open fine in
OO 3.0 or I could not find a problem. 

Anyway, I attached my file "table 2-page.doc". Is it the same problem or right
issue? I came here from Issue 84942: "table cells/rows can not continue over a
page boundary". What is interesting is that if I save it in MS Office as .docx,
it opens correctly in OO 3.0.

PS. please delete a duplicate attachment and my previous post.
Comment 16 leiflodahl 2010-02-02 09:31:49 UTC
This problem does *not* only apply to imorted word documents! -inserted .odt-files.
This problem does *not* only apply for complex tables! -one row, two columns.
This problem occurs every day!

The problem can occur on the first page break, but often when a it breaks for
the second time.

The problem does occur on both Linux and Windows.

The problem is *not* solved by "SetOptimalRowHeight" nor with "isSplitAllowed"
or "Split".

I tied to create a macro to 'repair' the document, but it doesn't help in all cases:
---
Sub RebuildAllTables 
	 oDoc = ThisComponent

for i = 0 to oDoc.getTextTables().Count() - 1
   oTab = oDoc.getTextTables().getByIndex(i)
    oTab.Split = FALSE
   for j = 0 to oTab.getRows().Count() - 1
      oRow = oTab.getRows().getByIndex(j)
      oRow.isSplitAllowed = FALSE
      	oProvider = ThisComponent.CurrentController.Frame
  		oDispHelper = createUnoService("com.sun.star.frame.DispatchHelper")
  		oDispHelper.executeDispatch(oProvider, ".uno:SetOptimalRowHeight", "", 0,
Array())
  		oRow.isSplitAllowed = TRUE
   next j
   oTab.Split = TRUE
next i
End Sub
---

Does anyone have any other ideas of how to repair the table?

I think this problem should be fixed soon.
Comment 17 leiflodahl 2010-02-02 09:33:16 UTC
Created attachment 67519 [details]
Problem is on page 2
Comment 18 leiflodahl 2010-02-02 09:33:49 UTC
added my self to CC.
Comment 19 jensbruhn 2010-09-16 08:13:24 UTC
this is really a big bug. if you are building your complex document via uno api
with cascaded tables and now you want to print your document and some cells are
cutted up, this is an absolute no-go. in my case a few rows are not rendered
(during page break). This has to be fixed.
Comment 20 jensbruhn 2010-09-16 12:38:31 UTC
This macro repairs the document/table for me, but it's only a small idea,
because it's just far too slow. Maybe someone has a better solution?


Sub FixTables 
	 oDoc = ThisComponent

for i = 0 to oDoc.getTextTables().Count() - 1
   oTab = oDoc.getTextTables().getByIndex(i)

   if (oTab.Name <> "Master") then
      sNames() = oTab.getCellNames()
      For k = LBound(sNames()) To UBound(sNames())
         oCell = oTab.getCellByName(sNames(k))
         cursor = oCell.createTextCursor()
         vCurs = ThisComponent.getCurrentController().getViewCursor()
         vCurs.gotoRange(cursor, FALSE)
         oCell.insertString(cursor, chr(13), False)
         cursor.goLeft(1, TRUE)
         cursor.setString("")
      next k
   end if
next i
End Sub
Comment 21 jensbruhn 2010-09-16 14:16:37 UTC
Created attachment 71723 [details]
pagebreak in table: Screenshot to locate problem
Comment 22 jensbruhn 2010-09-16 14:17:32 UTC
Created attachment 71724 [details]
pagebreak in table: problem between page 3 and 4
Comment 23 eric.savary 2010-09-21 20:05:57 UTC
*** Issue 114654 has been marked as a duplicate of this issue. ***