TWaver组件之Table使用(翻译TWaver文档+补充自己使用体会)四

第四篇 使用 TableModel 处理数据

TWaverTTableModel 类继承自 swingTableModel, 通常您 需要检索表表数据处理模型

TTable table = new TTable();

TTableModel model = table.getTableModel();

使用下 列的代码进行表格的添加,插入行:

// 添加一行

Vector row = new Vector();

row.addElement(“Peter”);

row.addElement(“President”);

model.addRow(row);

// 添加第二行

row = new Vector();

row.addElement(“Mike”);

row.addElement(“Vice President”);

model.addRow(row);

// 插入一行

row = new Vector();

row.addElement(“Tom”);

row.addElement(“Employee”);

model.insertRow(0,row);

图片

使用 TTableModel.removeRow(int index) 删除一行数据

使用 TTableModel.clearPublishedData() 清除所有已发布的数据

使用 TTableModel.clearRawData() 清除所有行数据

使用 TTableModel.getPublishedData() 获取所有发布的数据,包括不显示的列

TTableModel.getAllCheckedRowData() 获取所有选中的行,包括隐藏的列

TTableModel.getCurrentPageData() 获取当前页所发布的所有数据。包括隐藏的列

自己补 充:我都纳了闷了, Twaver 的说明文档太吝啬了,只让使用这样的方法;其实数据可以直接使 用 box 来取的。 box.getAllElements();

使用表格监听器

TableModel 可以添加表格监听器来监管这些事 件:

l       rowClicked

l       rowSelectionChanged

l       beforeCellValueChanged

l       tableUpdated

l       lockedChanged

l       tableDataChanged

表格分页

TWaver 表格 model 可以实现分页功能,当实现分业功能时,所有原始数据被保存在一个 容器里面。

你可以 访问原始数据和发布数据。类: twaver.table.TTableModel 实现接口: twaver.table.TablePaging. 你可以使用 twaver.table.TablePaging 接口获取分页信息。分页信息包括页数。当前页索引,和全部页数 字等。

下面的 代码展示如何控制分页

TTable table = new TTable();

table.addColumn(new TTableColumn("Index"));

table.addColumn(new TTableColumn("Description"));

TTableModel model = table.getTableModel();

//insert 10 rows to the table.

for(int i=0;i<10;i++){

Vector row = new Vector();

row.addElement(""+i);

row.addElement("Description for index "+i);

model.addRow(row);

}

//set page size to 3.

model.setPageRowSize(3);

//goto the second page.

model.setCurrentPageIndex (2);

图片

使用 TWaver 的表格分页器: Navigator

一般情 况下不会使用简单的进行上面的那样进行分页。 Twaver 组件提供了一个分页器组件。它是一个 panel 组件,和表格联合使用。下面的代码进行展示它的使用:

//create table with paging options.

TTable table = new TTable();

frame.getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);

frame.getContentPane().add(new TTableNavigator(table.getTableMode()) ,

BorderLayout.NORTH);

图片

点击“ first,”next”,”previous” 和“ last ”按钮进行设置页面,也可以改变页面的值来改变页的索引。

你可以 如下设置分页值:

TTableModel model=alarmTable.getTableModel();

int[] options=new int[] {20, 30, 50, 0};

TTableNavigator navigator = new TTableNavigator(model, options);

上面的 options 数组:代表每页的行数, 0 代表一页展示全部数据。可以进行多个值的选项进行调页面的数据大 小。如果这样: TTableNavigator navigator = new TTableNavigator(model, optionsnull); 可以把上面的 lock 复选框去掉。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值