This commit is contained in:
parent
5f3bf1067d
commit
51bfddd40f
@ -9,10 +9,45 @@ int VisitorRecordTableModel::rowCount(const Wt::WModelIndex &parent) const {
|
||||
return 50;
|
||||
}
|
||||
|
||||
Wt::cpp17::any VisitorRecordTableModel::data(const Wt::WModelIndex &index, Wt::ItemDataRole role) const {
|
||||
LOG(info) << "VisitorRecordTableModel: " << role.value();
|
||||
if (role == Wt::ItemDataRole::Checked && index.column() == 0) { // Assuming first column for checkbox
|
||||
Wt::WFlags<Wt::ItemFlag> VisitorRecordTableModel::flags(const Wt::WModelIndex &index) const {
|
||||
if (index.column() == 0) {
|
||||
return Wt::ItemFlag::UserCheckable | Wt::ItemFlag::Selectable;
|
||||
} else {
|
||||
return Wt::ItemFlag::Selectable;
|
||||
}
|
||||
}
|
||||
|
||||
Wt::WFlags<Wt::HeaderFlag> VisitorRecordTableModel::headerFlags(int section, Wt::Orientation orientation) const {
|
||||
if (section == 0 && orientation== Wt::Orientation::Horizontal) {
|
||||
return Wt::HeaderFlag::UserCheckable|Wt::HeaderFlag::XHTMLText;
|
||||
} else {
|
||||
return Wt::HeaderFlag::XHTMLText;
|
||||
}
|
||||
}
|
||||
|
||||
Wt::cpp17::any VisitorRecordTableModel::headerData(int section, Wt::Orientation orientation, Wt::ItemDataRole role) const {
|
||||
if ((role == Wt::ItemDataRole::Checked || role == Wt::ItemDataRole::Edit) &&
|
||||
section == 0) { // Assuming first column for checkbox
|
||||
|
||||
return true;
|
||||
} else if ((role == Wt::ItemDataRole::Display || role == Wt::ItemDataRole::Edit) &&
|
||||
section == 0) { // Assuming first column for checkbox
|
||||
return Wt::cpp17::any{};
|
||||
} else {
|
||||
return Wt::cpp17::any{};
|
||||
}
|
||||
}
|
||||
|
||||
Wt::cpp17::any VisitorRecordTableModel::data(const Wt::WModelIndex &index, Wt::ItemDataRole role) const {
|
||||
LOG(info) << "VisitorRecordTableModel: " << role.value();
|
||||
if ((role == Wt::ItemDataRole::Checked || role == Wt::ItemDataRole::Edit) &&
|
||||
index.column() == 0) { // Assuming first column for checkbox
|
||||
|
||||
return true;
|
||||
} else if ((role == Wt::ItemDataRole::Checked || role == Wt::ItemDataRole::Edit) &&
|
||||
index.column() == 1) { // Assuming first column for checkbox
|
||||
|
||||
return false;
|
||||
} else {
|
||||
return Wt::cpp17::any{};
|
||||
}
|
||||
|
@ -8,5 +8,9 @@ public:
|
||||
Wt::cpp17::any data(const Wt::WModelIndex &index, Wt::ItemDataRole role = Wt::ItemDataRole::Display) const final;
|
||||
int columnCount(const Wt::WModelIndex &parent = Wt::WModelIndex()) const final;
|
||||
int rowCount(const Wt::WModelIndex &parent = Wt::WModelIndex()) const final;
|
||||
Wt::WFlags<Wt::ItemFlag> flags(const Wt::WModelIndex &index) const final;
|
||||
Wt::WFlags<Wt::HeaderFlag> headerFlags(int section, Wt::Orientation orientation = Wt::Orientation::Horizontal) const final;
|
||||
Wt::cpp17::any headerData(int section, Wt::Orientation orientation = Wt::Orientation::Horizontal,
|
||||
Wt::ItemDataRole role = Wt::ItemDataRole::Display) const final;
|
||||
};
|
||||
#endif // __VISITORRECORDTABLEMODEL_H__
|
@ -1,11 +1,11 @@
|
||||
#include "VisitorRecordsPage.h"
|
||||
#include "BoostLog.h"
|
||||
#include "Database/Session.h"
|
||||
#include "VisitorRecordTableModel.h"
|
||||
#include <Wt/Dbo/QueryModel.h>
|
||||
#include <Wt/WItemDelegate.h>
|
||||
#include <Wt/WLabel.h>
|
||||
#include <Wt/WTableView.h>
|
||||
#include "VisitorRecordTableModel.h"
|
||||
|
||||
class CheckBoxDelegate : public Wt::WAbstractItemDelegate {
|
||||
public:
|
||||
@ -36,8 +36,10 @@ VisitorRecordsPage::VisitorRecordsPage(Session &session) {
|
||||
view->setColumnResizeEnabled(true);
|
||||
view->setAlternatingRowColors(true);
|
||||
view->setRowHeight(50);
|
||||
// view->setSelectable(true);
|
||||
view->setSelectionMode(Wt::SelectionMode::Extended);
|
||||
view->setSelectionMode(Wt::SelectionMode::None);
|
||||
view->setColumnAlignment(0, Wt::AlignmentFlag::Center);
|
||||
view->setHeaderAlignment(0,Wt::AlignmentFlag::Center);
|
||||
view->setSortingEnabled(0,false);
|
||||
// view->setEditTriggers(Wt::EditTrigger::None);
|
||||
// view->setItemDelegateForColumn(0, std::make_shared<CheckBoxDelegate>());
|
||||
// view->setHeaderItemDelegate( std::make_shared<CheckBoxDelegate>());
|
||||
@ -51,8 +53,6 @@ VisitorRecordsPage::VisitorRecordsPage(Session &session) {
|
||||
auto model = std::make_shared<VisitorRecordTableModel>();
|
||||
view->setModel(model);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Configure column widths and matching table width
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user