DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DA::DARowTable< T > 模板类 参考

以行为基础的数据表 更多...

#include <DARowTable.hpp>

Public 类型

enum  Mode { FixedMode , ExpandMode }
 
enum  CaseSensitivity { CaseInsensitive , CaseSensitive }
 
typedef T Type
 
typedef DAVector< T > SeriesType
 
typedef std::shared_ptr< SeriesType > SeriesPtr
 
typedef DAVector< T >::iterator SeriesIterator
 
typedef DAVector< T >::const_iterator SeriesConstIterator
 
typedef DARowTable< T > TableType
 
typedef std::shared_ptr< TableType > TablePtr
 

Public 成员函数

 DARowTable (int rows, int columns)
 
void resize (int r, int c)
 改变table 的大小
 
void reserve (int size)
 
bool haveFieldid (const QString &field) const
 判断是否存在field
 
void fill (const T &v)
 填充元素
 
const T & at (int r, int c) const
 
T & at (int r, int c)
 
cell (int r, int c) const
 获取单元格
 
SeriesPtr appendRow (const QString &name)
 
SeriesPtr appendRow (const QString &name, int size)
 
void appendRow (SeriesPtr row)
 
void appendRow (std::initializer_list< T > args, const QString &n)
 
template<typename Ite1 , typename Ite2 >
void appendColumn (Ite1 b, Ite2 e)
 
void appendColumn (std::initializer_list< T > args)
 
int nameToIndex (const QString &n) const
 
SeriesPtr & row (int r)
 获取行引用
 
const SeriesPtr & row (int r) const
 获取行引用
 
SeriesPtr & row (const QString &n)
 
const SeriesPtr & row (const QString &n) const
 
SeriesPtr colunm (int c) const
 
SeriesType & operator[] (int r)
 
const SeriesType & operator[] (int r) const
 
SeriesType & operator[] (const QString &rowname)
 
const SeriesType & operator[] (const QString &rowname) const
 
void fixSize ()
 以最大列数进行列数修正,保证所有行同列
 
int rowCount () const
 表的行数
 
int columnCount () const
 表的列数
 
void setMode (Mode m)
 设置表格的模式
 
Mode getMode () const
 获取模式
 
void clear ()
 清空
 
void setName (const QString &n)
 
QString getName () const
 
QStringList rowNames () const
 rowNames
 
void setRowNames (const QStringList &ns)
 设置行名,如果是个空的表会生成一个默认行
 
TablePtr takeByValue (const QString &field, T value) const
 提取某个值等于value作为新表
 
QPair< QList< TablePtr >, QList< T > > groupBy (const QString &field) const
 groupby
 
void orderBy (const QString &sn)
 orderBy
 
void orderBy (int rindex)
 
QPair< T, int > lowerBound (const T &v, const QString &sortedfield) const
 查找第一个大于或等于某个元素的位置
 
QPair< T, int > lowerBound (const T &v, int r) const
 
QPair< T, int > upperBound (const T &v, const QString &sortedfield) const
 
QPair< T, int > upperBound (const T &v, int r) const
 
void setCaseSensitivity (CaseSensitivity cs)
 设置名字查询时是否对大小写敏感
 
bool isCaseSensitivity () const
 判断是否大小写敏感
 
void remove (const QString &name)
 
void remove (int rindex)
 

静态 Public 成员函数

static SeriesPtr makeSeries ()
 
static SeriesPtr makeSeries (const QString &n)
 
static SeriesPtr makeSeries (std::initializer_list< T > args)
 
static TablePtr makeTable ()
 

详细描述

template<typename T>
class DA::DARowTable< T >

以行为基础的数据表

表格形如:


|name| 0 | 1 | 2 | 3 | …… | n | 行名字 -> 列索引

表内容:

|row1| 1 | 2 | 1 | 0 | …… | 6 | |row2| 4 | 5 | 6 | 7 | …… | 8 | ………………

|rown| 9 | 8 | 7 | 6 | …… | 0 |

table.setRowNames({"row1","row2",……,"rown"});
table.appendColumn({1,4,……,9});
table.appendColumn({2,5,……,8});
table.appendColumn({1,6,……,7});
table.appendColumn({0,7,……,6});
……
table.appendColumn({6,8,……,0});
以行为基础的数据表
Definition DARowTable.hpp:54
void setRowNames(const QStringList &ns)
设置行名,如果是个空的表会生成一个默认行
Definition DARowTable.hpp:750

可以通过行序号进行索引 table[1] //row2 可以索引到单元格 table.cell(1,2) //row2[2]:6 等同table[1][2] 可以通过行名索引到单元格 table["row2"][2] //row2[2]:6 等同table[1][2]

参见
DAColumnTable

成员枚举类型说明

◆ CaseSensitivity

template<typename T >
enum DA::DARowTable::CaseSensitivity
枚举值
CaseInsensitive 

大小写不敏感

CaseSensitive 

大小写敏感

◆ Mode

template<typename T >
enum DA::DARowTable::Mode
枚举值
FixedMode 

固定模式,表的列不会随着行的变化而变化(默认)

ExpandMode 

扩展模式,表的列是浮动的,如果插入一行比原来要宽,会自动扩充表的列数

成员函数说明

◆ cell()

template<typename T >
T DA::DARowTable< T >::cell ( int  r,
int  c 
) const

获取单元格

参数
r
c
返回
如果没有或超范围,返回默认构造

◆ columnCount()

template<typename T >
int DA::DARowTable< T >::columnCount ( ) const

表的列数

返回

◆ fill()

template<typename T >
void DA::DARowTable< T >::fill ( const T &  v)

填充元素

参数
v

◆ getMode()

template<typename T >
DARowTable< T >::Mode DA::DARowTable< T >::getMode ( ) const

获取模式

返回

◆ groupBy()

template<typename T >
QPair< QList< typename DARowTable< T >::TablePtr >, QList< T > > DA::DARowTable< T >::groupBy ( const QString &  field) const

groupby

参数
field
cs
返回

◆ haveFieldid()

template<typename T >
bool DA::DARowTable< T >::haveFieldid ( const QString &  field) const

判断是否存在field

参数
field
返回

◆ isCaseSensitivity()

template<typename T >
bool DA::DARowTable< T >::isCaseSensitivity ( ) const

判断是否大小写敏感

返回

◆ lowerBound()

template<typename T >
QPair< T, int > DA::DARowTable< T >::lowerBound ( const T &  v,
const QString &  sortedfield 
) const

查找第一个大于或等于某个元素的位置

注解
需要确保已经进行过排序
参数
v
返回

◆ orderBy()

template<typename T >
void DA::DARowTable< T >::orderBy ( const QString &  sn)

orderBy

参数
sn

◆ resize()

template<typename T >
void DA::DARowTable< T >::resize ( int  r,
int  c 
)

改变table 的大小

参数
r
c

◆ row() [1/2]

template<typename T >
DARowTable< T >::SeriesPtr & DA::DARowTable< T >::row ( int  r)

获取行引用

参数
r
返回

◆ row() [2/2]

template<typename T >
const DARowTable< T >::SeriesPtr & DA::DARowTable< T >::row ( int  r) const

获取行引用

参数
r
返回

◆ rowCount()

template<typename T >
int DA::DARowTable< T >::rowCount ( ) const

表的行数

返回

◆ rowNames()

template<typename T >
QStringList DA::DARowTable< T >::rowNames ( ) const

rowNames

返回

◆ setCaseSensitivity()

template<typename T >
void DA::DARowTable< T >::setCaseSensitivity ( CaseSensitivity  cs)

设置名字查询时是否对大小写敏感

参数
cs

◆ setMode()

template<typename T >
void DA::DARowTable< T >::setMode ( Mode  m)

设置表格的模式

参数
m模式 Mode

◆ setRowNames()

template<typename T >
void DA::DARowTable< T >::setRowNames ( const QStringList &  ns)

设置行名,如果是个空的表会生成一个默认行

参数
ns

◆ takeByValue()

template<typename T >
DARowTable< T >::TablePtr DA::DARowTable< T >::takeByValue ( const QString &  field,
value 
) const

提取某个值等于value作为新表

参数
field
value
cs
返回

该类的文档由以下文件生成: