Project

General

Profile

Bug #5623

WTableView with BootstrapTheme v2 doesn't render all rows if row count increased

Added by Kayra Akman over 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
03/24/2017
Due date:
% Done:

0%

Estimated time:

Description

WTableView doesn't render all rows in the following scenarios tested with the attached application which has 2 tabs with a WCheckBox and a WTableView in each tab. WCheckBox is used to change the row count of the WTableView.

Scenario 1:

  • Use Bootstrap theme version 2
  • Disable progressive bootstrap
  • Show small number of rows at application creation, e.g. 10
  • enableUpdates(true)
  • Increase row count to, e.g., 100
  • Tableviews in both of the tabs in the attached test application fail to render all rows

Scenario 2:

  • Use Bootstrap theme version 2
  • Disable progressive bootstrap
  • Show small number of rows at application creation, e.g. 10
  • Don't enable updates
  • Increase row count to, e.g., 100
  • Tableview only in the lazily loaded second tab in the attached test application fails to render all rows
  • Tableview in the default tab renders all rows

See the attached screenshot for an incomplete tableview. Toggle the check box in the attached test application to reproduce the issue.

Some observations:

  • Issue occurs if Bootstrap theme v2 is used, v3 and default theme are OK.
  • Issue doesn't occur if the initial row count is large. Reducing the row count (e.g. from 100 to 10) and then increasing (back to 100) is OK. So initial row count seems important.
  • Issue occurs in the default tab if enableUpdates(true). Lazily loaded tab is always broken regardless of enableUpdates(). So tab loading scheme seems to matter.
  • Attached test applicaton recreates the UI after 10 seconds, but only enableUpdates() is enough for the issue to occur in the default tab.
  • Progressive bootstrap was disabled during tests above due to a bug in 3.3.6 (#5470#note-3) where tableviews are rendered as tables if not recreated with enableUpdates() and triggerUpdate(). Tables work fine.
  • If progressive bootstrap is enabled and UI is recreated with enabledUpdates() + triggerUpdate(), then both tabs get broken after triggerUpdate().
  • Issue observed with Wt 3.3.6 MSVC 2103 64bit binaries provided by Emweb.

Files

incomplete_tableview.jpg (13.4 KB) incomplete_tableview.jpg Kayra Akman, 03/24/2017 05:04 PM
tableview_test.cpp (2.42 KB) tableview_test.cpp Kayra Akman, 03/24/2017 05:04 PM
#1

Updated by Kayra Akman over 5 years ago

The issue is also reproducible with 3.3.7.

#2

Updated by Roel Standaert over 5 years ago

Looks like this is due to the bottom border on .Wt-spacer, causing it to be 1px taller than .Wt-tv-contents.

#3

Updated by Kayra Akman over 5 years ago

I had noticed this issue when I upgraded the Wt version from 3.3.4 to 3.3.6. Since it is still not assigned to anyone, unlike the issue #5470, I just wanted to remind you that it exists.

If you consider Bootstrap theme v2 obsolete and don't prioritise anything v2 related, please let me know so that I can consider using v3.

#4

Updated by Kayra Akman about 5 years ago

I've tested with 3.3.8 RC1 from the master branch. Issue still reproducible.

#5

Updated by Kayra Akman about 5 years ago

At the time I submitted this issue, progressive bootstrap and enablesUpdates() were making a difference. Now as long as Bootstrap Theme v2 is used, the table is rendered incompletely in both tabs. I guess the issue has become a little easier to investigate and test.

#6

Updated by Roel Standaert about 5 years ago

  • Status changed from New to Resolved

I just pushed a commit that should fix this.

#7

Updated by Kayra Akman about 5 years ago

I confirm that the issue is fixed indeed. Thanks a lot.

#8

Updated by Roel Standaert about 5 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF