DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DADataTableModel.h
1#ifndef DADATATABLEMODEL_H
2#define DADATATABLEMODEL_H
3#include "DAGuiAPI.h"
4#include <QAbstractTableModel>
5#include "DAAbstractCacheWindowTableModel.h"
6#include "DAData.h"
7
8class QUndoStack;
9namespace DA
10{
19{
20 Q_OBJECT
21 DA_DECLARE_PRIVATE(DADataTableModel)
22public:
23 DADataTableModel(QUndoStack* stack, QObject* parent = nullptr);
25
26public:
27 virtual int columnCount(const QModelIndex& parent = QModelIndex()) const override;
28
29 virtual QVariant actualHeaderData(int actualSection, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
30 virtual int actualRowCount() const override;
31 virtual QVariant actualData(int actualRow, int actualColumn, int role = Qt::DisplayRole) const override;
32 // 设置数据
33 virtual bool setActualData(int actualRow, int actualColumn, const QVariant& value, int role = Qt::EditRole) override;
34
35public:
36 // 设置数据
37 void setData(const DAData& data);
38 DAData getData() const;
39 // 设置使用缓存模式,缓存模式不会频繁调用dataframe,在setdataframe时把常用的参数缓存
40 void setUseCacheMode(bool on = true);
41 // 设置滑动窗模式的起始行
42 virtual void setCacheWindowStartRow(int startRow) override;
43 // 刷新
44 void refreshData();
45 // 超出模型实际数据行数的额外空行数量
46 void setExtraRowCount(int v);
47 int getExtraRowCount() const;
48 // 超出模型实际数据列数的额外空列数量
49 void setExtraColumnCount(int v);
50 int getExtraColumnCount() const;
51 // 最小显示的行数量
52 void setMinShowRowCount(int v);
53 int getMinShowRowCount() const;
54 // 最小显示的列数量
55 void setMinShowColumnCount(int v);
56 int getMinShowColumnCount() const;
57
58protected:
59 // 缓存
60 void cacheShape() override;
61};
62}
63#endif // DADATATABLEMODEL_H
这是一个有缓存窗的模型,模型的显示行数固定在缓存窗的大小,这个模型适合超多行数据的显示
Definition DAAbstractCacheWindowTableModel.h:16
针对DAData的model
Definition DADataTableModel.h:19
void setExtraColumnCount(int v)
设置超出模型实际数据列数的额外空列数量。
Definition DADataTableModel.cpp:322
int getExtraColumnCount() const
超出模型实际数据列数的额外空列数量
Definition DADataTableModel.cpp:332
int getExtraRowCount() const
超出模型实际数据行数的额外空行数量
Definition DADataTableModel.cpp:295
DAAbstractData的封装 可以放入QMap,QHash中,DAData的等于操作相当于创建一个引用
Definition DAData.h:25
序列化类都是带异常的,使用中需要处理异常
Definition AppMainWindow.cpp:44