第八篇
使用
Element
Table
Element Table
组件同
alarmtable
一样继承自
TWaver table,Element table
备用用于展示
TWaver element
对象,
Element Table
连接着
DataBox
,并从
DataBox
中获取所有的
Element
对象信息展示到表格的每一列上,一个属性对应一列。
Element table
来源于
TWaver table
所以他拥有所有的基本
表格的特性。像自定义列,排序,分页控制,锁定,弹出菜单,和过滤器。不清楚的请参考使用表格组件。
创建一个
Element Table
组件
一般情况下,我们需要一个
DataBox
去创建一个
element table,
这样这个表格就是连接着
DataBoxd ,
展示和监控着
DataBox
里面的数据。根据下面小片段来看一下创建一个
Element table
组件和展示
DataBox
里面所有的数据信息。
JFrame frame = new JFrame("TWaver Element
Table");
TDataBox
box = new TDataBox();
TElementTable table = new TElementTable(box);//
这样写,数
////
据量大的话,严重影响性能
table.setElementClass(Element.class);
frame.setContentPane(new
JScrollPane(table));
frame.setSize(400, 100);
TWaverUtil.centerWindow(frame);
//create
several elements.
for (int i = 0; i < 5; i++) {//
自己补充,这里是插入
5
个数据,你可
//
以测试一下插入
5000
条以上数据,看看这个程序要多长
时间能
//
显示出来。
Node node = new
Node("N-" + i);
node.setName("Node
" + i);
node
.getAlarmState()
.addNewAlarm(AlarmSeverity.getNonClearedRandomSeverity());
box.addElement(node);
}
frame.setVisible(true);
自定义一个
Element Table
通过
xml
定义
Bean
信
息来创建
Table
TDataBox box = new
TDataBox();
TElementTable table = new TElementTable(box);
//
关键 步骤
1
:注册
xml
定
义的
Bean
信 息
table.registerElementClassXML(Person.class,”/table.xml”);
//
关键 步骤
2
:设置
element class
类型
table.setElementClass(Person.class);
//
往表 格里面放数据
box.addElement(new
Person(“Sam”,89));
box.addElement(new Person(“Tom”,12));
box.addElement(new
Person(“lisa”,10));
box.addElement(new Person(“pate”,20));
//Person.java
public static
class Person extends Node{
public
Person(String name,int age){
this.setName(name);
this.putClientProperty(“age”,age);
}
public int getAge(){
String
value = this.getClientProperty(“age”).toString();
return
Integer.valueOf(value).intValue();
}
}
补充:上面这个
Person.java
类很令人费解,这事
Twaver
文档实例的一贯作风。这里可以这么简单的改一下,最简单的实现一
下:
pubic static class
Person extends Node{
public Person(String name,int age){
//
因为 采用的是键值对的形式,所以下面的红色部分为
xml
配置
//
的
bean
信 息的
name
属性对应的值保持一致
//
如果
设置
putClientProperty
,
xml
里面必须得
clientPropertyKey
this.putClientProperty(“name
”,name);
this.putClientProperty(“age
”,age);
}
}
下面配置
table.xml
文件
<beaninfo>
<attribute
name="name"
displayName="Name"/>
<attribute
clientPropertyKey="age"
displayName="Age"/>
</beaninfo>
补充:
table.xml
的配置信息太简单了,这里可以配置所有的
table
属性信息。比如:
<attribute
name="name"
displayName="Name"/>
我可以这样:
<attribute
name="name"
displayName="Name"
visible=”false”//
该列不可见
editable=”false”//
该列不可编辑
//
javaClass
=
"java.lang.Boolean"
这事设置这
一列为复选框的同
Check
隐藏列
//renderer=”com.org.listRenderer”
设置
renderer
的
//editor=”com.org.listEditor”//
设置
Editor
的
/>
提示:如果打开界面就有几千行数据呈现在一个表格里面的话,这个
表格应该这样做:
TElementTable
table = new TElementTable();
TDataBox box = new TDataBox();
…….//
一 系列设置表格属性的操作,就是不要设置
TDataBox
属性。
for(){//
这里不管什么样的循环往
box
里面加载数据,举例为:
for
。
……..
box.addElement(…);
}
//
加载 数据结束
table.setDataBox(box);
把
box
的加载到
table
上
的位置放到数据加载完毕之后,上面写那么多有点磨叽了。
使用过滤器
你可以使用
VisibleFilter
去控制
TElementTable
的每一行的显示与否。
List
getVisibleFilters()
void addVisibleFilter(VisibleFilter
visibleFilter)
void removeVisibleFilter(VisibleFilter
visibleFilter)
table.addVisibleFilter(new
VIisibleFilter(){
public Boolean isVisible(Element
element){
Person person
= (Person)element;
return
person.getAge()>=18;
}
});
加载数据
表格和他关联的
DataBox
拥有一样的
Element
存放顺序,在默认的情况下,最后添加的数据总是放在表格的最底
处,即行号最大的地方,但是,你也许想看到最后添加的数据能够呈现在表格的最顶端。例如:一个新发生的告警一般都想被放在表格的最顶端,一般调用方法
table.setConverseIncreaseOrder(true)
能做到这样。
补充:还有一个常用的办法就是在往表格关联的
DataBox
里面放数据的时候,一般:
box.addElement(element);
这样如果是放在最低端的话,使用
box.addElement(0,element);
这样就放在表格的最前端了。原因为:
box
里面其实就是存放的一个
List
数据链,
list
可以从前段后端进行插入数据的嘛
相关推荐
TWaver Flex中的告警功能是该组件的一个重要组成部分,文档中讲解了告警的使用,包括告警级别、状态与统计、以及告警的呈现方式。 ### 版权声明和使用许可 文档中也明确了版权信息和版权声明,强调了文档是...
在视图组件部分,文档将介绍Network、Tree和Table三种主要组件的介绍,这些组件是构建可视化界面的核心。Network组件用于展示网络拓扑结构,Tree组件用于构建树形结构,而Table组件用于展示和操作表格数据。 数据...
3. **组件入门级实例**:TWaver Flex 提供了多种预定义的组件,如Network、Table 和 Tree等。这些组件可以通过简单的代码实例快速实现图形界面的基本功能。 #### TWaver Flex 开发环境 TWaver Flex 的开发环境主要...
- **前台 Table 组件**、**前台 Tree 组件**、**前台 Sheet 组件**、**前台 AlarmTable**、**前台 AlarmOverview 组件** 等章节详细介绍了如何将 TWaver Web 的功能与 ExtJS 的各种组件集成,以实现复杂的应用场景。...
《TWaver Java 3.7 开发者指南》是一份详尽的技术文档,旨在为开发者提供使用TWaver Java 3.7版本进行网络、图表、数据管理和用户界面设计的全面指导。TWaver Java是一个功能丰富的可视化组件库,适用于构建复杂的...
TWaver组件主要分为以下几个部分: - NetworkComponent(网络组件):用于展示网络拓扑结构,支持图形化展示网络设备和链路。 - TreeComponent(树形组件):实现树形结构的数据展示,常用于展示层次化或分组的数据...
通过以上详细介绍,可以看出 Flex Twaver 不仅提供了一套完整的组件库来满足电信网管系统的需求,还通过丰富的文档和示例帮助开发者快速上手。无论是对于初学者还是有经验的开发人员来说,都是一款值得深入探索的...
根据提供的文件信息,我们可以推断出这是一份关于TWaver™ Java Developer Guide的文档,主要介绍了TWaver™软件的相关信息及使用指南。由于标题和描述部分的信息非常有限且重复,我们将依据这部分内容来构建相关...