Bug #5882

WTableView with BootstrapTheme v2 doesn't render all rows (ep.2)

Added by Kayra Akman almost 5 years ago. Updated almost 5 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:


The test case attached to Issue #5623 was fixed with Wt 3.3.8. However when I updated the Wt version on the production server, I saw that the issue that led to #5623 was still present. I've decided to open another issue instead of reviving the old one.

The attached test application has been derived from the production application.

To reproduce the issue:

  • Click on a row or manually enter a(ny) string into the line edit.
  • Click Search.
  • Scroll down to observe incompletely rendered table.
  • Click << button to revert to initial table size.

Initially the table has 40 rows. Searching increases the row count to 1000. Since all cells in a column have the same text, the only visual feedback is the changing length of the scrollbar.


table.jpg (99.5 KB) table.jpg Screenshot of incompletely rendered table Kayra Akman, 08/18/2017 07:55 PM
table_test.cpp (6.45 KB) table_test.cpp Kayra Akman, 08/18/2017 07:55 PM

Updated by Kayra Akman almost 5 years ago

It took quite some time to convert the actual application into a test case iteratively removing and verifying that the issue is still present. Once I finally had a small enough test application I submitted the report. However I could go on and find out which code segment was causing the issue.

As it turns out Line 91: table->setColumnWidth(4, 240); is the offending code. When commented out, the table gets rendered properly.

That line of code is not meaningful in the test application. In the actual application the last column contains a message which is longer than other cells' contents. All other cells of a row have contents of similar length. When I disable that line, then the text in the last column gets truncated. What would you suggest as a workaround until this issue, if it is indeed a bug, gets fixed?


Updated by Kayra Akman almost 5 years ago

Experimenting with the code further showed that these 3 lines conflict with each other and affect the rendering of the table view:

 89: table->setMinimumSize(850, Wt::WLength::Auto);

 91: table->setColumnWidth(4, 240);

229: tabs->setMaximumSize(850, Wt::WLength::Auto);

Table view is inside the tab's container. I had to provide a margin of about 25px between min table width and max tab widget width so that the table could be rendered properly.

Although I was able to solve my problem, I still think that such a conflict shouldn't have caused this issue.

Also available in: Atom PDF