diff --git a/src/Wt/WTableView.C b/src/Wt/WTableView.C index c3e1a93fd..baefca73f 100644 --- a/src/Wt/WTableView.C +++ b/src/Wt/WTableView.C @@ -1893,6 +1893,14 @@ WModelIndex WTableView::modelIndexAt(WWidget *widget) const return WModelIndex(); } +int WTableView::visibleRowCount() const +{ + if (ajaxMode()) + return viewportHeight_ / static_cast(rowHeight().toPixels()); + else + return renderedLastRow_ - renderedFirstRow_; +} + WModelIndex WTableView::translateModelIndex(bool headerColumns, const WMouseEvent& event) { diff --git a/src/Wt/WTableView.h b/src/Wt/WTableView.h index d5e2346a3..c42d032e8 100644 --- a/src/Wt/WTableView.h +++ b/src/Wt/WTableView.h @@ -158,6 +158,12 @@ class WT_API WTableView : public WAbstractItemView */ WModelIndex modelIndexAt(WWidget *widget) const; + /*! \brief Returns the number of entirely visible rows. + * + * \note In plain HTML mode, it returns a guess based on the rendered rows. + */ + int visibleRowCount() const; + virtual EventSignal& scrolled() override; #ifdef WT_TEST_VISIBILITY