`
ybyonline
  • 浏览: 41078 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

TWaver学习之TTable篇

阅读更多

一、TWaver table组件介绍

TWaver table组件继承了Swing中的JTable,并对JTable中的排序、分页和过滤等功能做了加强。TWaver Table Class 结构如下:

 

ResizableTable:

这是一个可以放缩的表。

TTable:

这类表支持排序,分页,数据过滤,他是TWaver tablesTAlarm TableTElement TableTTree Table)的父类。

TElementTable:

这是最经常使用的TWaver表组件,它和DataBox一起使用并能显示每一行中的元素,它支持XML文档。这个类是开发者最推崇的一个类。

TTreeTable

这个类是TTreeTTable相结合的一个类。实现效果如下图:

 

二、TWaver table 的使用

         1TWaver table组件的构造器:

                   TTable()   默认的构造器,构造一张空表

                   TTable(String tableName)   构造一张定义为TWaver.XML配置名称的表

         2、表的基本操作方法

                   TTable table = newTTable();

                   TTableModel model = tableGetTableModel(); //获取表的选择模型

 

                   model.addRow(new Vector());   //增加一行

                   model.insertRow(int index, new Vector());   //插入一行

                   model.removeRow(int index);   //删除一行

                   model.clearPublishedData(); //删除所有公共的数据

                   model.clearRawData() ;   //删除所有的行数据

                   model.getPublishedData();   //获取所有公共数据,包括不可见的列

                   model.getCurrentPageData();  //获取当前页中的公共数据,包括不可见的列

         3、隐藏表中的列

                   第一种方法:

                   TTable table = new TTable();

                   Table.addColumn(new TTableColumn(“列名”));

Table.getColumnByName(“列名”).setVisible(false);

第二种方法:

Table.setColumnVisibleFilter(new ColumnVisibleFilter(){

         Public boolean isVisible(TTableColumn column){

                   Return !”列名”.equals(column.getName());

         }

})

         4、锁定表

                   锁定时,发布的数据将被保留,不管你往表中插入新数据。如果出于解锁时,这行         中的数据将被重新发布

                   TTableModel model = table.getTableModel();

                   //加锁

                   model.lock();

                   //解锁

                   Model.unlock();

         5右击选择所有行

                   *激活右击选择事件的方法:

                   TTable.setSelectableOnRightClick(true)

                   *交替更换行颜色:

 

            *隐藏表格线:

                   //隐藏垂直线

                   table.setShowVerticalLines(false);

                   //隐藏水平线

                   Table.setShowHorizontalLines(false);

         6表格行列的调整:

                   调整行高:

                   table.setRowResizable(true);

 

                   调整列宽:

                   table.setColumnResizable(true);

 

  列宽自动调整:

依据表格的宽度和标题的宽度调整列宽为首选宽度.

Table.packAllColumns(true);  //调整所有列的宽度

Table.packColumns(table.getTableModel().getColumnByName(“age”),true);//调整选定

的一列宽度。

         7设置表格单元格可编辑

                   model.getPublishColumn(index).setWrite(true);

                   例子如下:

                  

         8表格渲染

Twaver提供了很多预定义的渲染器供使用,渲染器所在的包“twaver.table.renderer.

          使用如下:

      

         9、表格排序

TWaver表中的数据可以按列排序,排序方式有递增、递减和无。单击列头可以选择排序模式,按住Ctrl并且选择需要排序的列,能实现多列排序。

l  使用table.setSortable(false)去取消表排序。默认情况下是开启排序的。

l  使用TTableColumn.setSortComparator(java.util.Comparator)自定义排序。

l  设置一列无序table.getTableModel().getColumnByName(“age”).setSortable(false);

 

10、表格分页

         分页原理:启动分页时,所有原始数据模型将被保存在一个原始数据集中。同样,表模型将计算并保存当前数据到另一个公布数据集合中。只有公布数据才能显示在TWaver表组件中,这个过程称作“数据发布”。

         Twaver.table.TTableModel类实现了twaver.table.TablePaging接口。我们能从TablePaging接口中获取分页信息。分页信息中包括 每页大小(page size)、当前页码(current page index,总页数(total page)等。

结构图:

 

TTableModel model = table.getTableModel();

       //添加10列数据

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

           Vector row = new Vector();

           row.addElement(""+i);

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

           model.addRow(row);

       }

       //设置每页大小

       model.setPageRowSize(3);

       //设置当前页

       model.setCurrentPageIndex(2);

       //获取记录总数

    model.getPageTotalCount();

       添加分页的导航图

           //设定几个页数,0表示全部

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

    TTableNavigator navigator=new TTableNavigator(table.getTableModel(),init,true);

    10、操作表中的列

         增加列:

        

         删除列:

        

         清除所有列:

 

代码如下:

 

 

11、设置过滤器

过滤第三列颜色不为红色的数据,代码如下:

 

 

12、表的监听事件

         表的监听事件所在包“twaver.table.TTableListener,常用的事件有:

l  rowClicked

l  rowSelectionChanged

l  beforeCellValueChanged

l  tableUpdated

l  lockedChanged

l  tableDataChanged

 

三、元素表组件(Element Table Component)

         元素表来自TWaver  table,所以它继承了它的许多属性,比如:自定义列,排序,分页,锁,弹出菜单和过滤器等,元素表常用来显示TWaver element objects,元素表连接Databox并从DataBox中获取所有elements元素,并在预定义列中显示出来。

 

 

 

1.         从表中获取元素(Elements

l  按行的索引值获取元素

TElementTable.getElementByBoxIndex(int row)

l  按记录获取元素

TElementTable.getElementByRowData(Vector rowData)

l  获取published Element

Public List getPublishedElement()

l  获取当前页的元素

Public List getCurrentPageElements()

l  获取选定行中的元素

table.getDataBox().getSelectionModel().getAllSelectedElement();

 

2.         加载数据

将数据从顶端添加。

table.setConverseIncreaseOrder(true);

3.         设置行总在顶部SendToTop Filter 和总在底部SendToBottom Filter

Public void setSendToTopFilter(SendToTopFilter sendtoFilter)

Public void setSendToBottomFilter(SendToBottomFilter sendToBottomFilter)

4.         设置元素是否可见Visible Filter

List   getVisibleFilters()

Void  addVisibleFilter(VisibleFilter visibleFilter)

Void  removeVisibleFilter(VisibleFilter visibleFilter)

 

 

五、         使用树表组件TreeTable Component

 

1.         树表TreeTable是树和表的组合,

实例:table.xml

<beaninfo>

      <attribute

         name="name"

         displayName="Name"/>

      <attribute

         clientPropertyKey="age"

         displayName="Age"/>

</beaninfo>

 

定义元素类:Person.java

public 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();

         }

}

TreeTable.java

//定义TTreeTable

               private TDataBox box = new TDataBox("TTable Example!");

    TTreeTable table = new TTreeTable(box);

 

//设置行高

           table.setRowHeight(18);

           //注册元素

table.registerElementClassXML(Person.class, "/com/twaver/table/table.xml");

          

分享到:
评论

相关推荐

    Twaver学习资料

    很好的Twaver WEB学习资料,里面有相关的例子

    Twaver-html5.zip

    Twaver学习案例的例子

    twaver.js使用示例

    ”这说明提供的示例不仅包含核心的twaver.js库,还有与之配合的HTML文件“alarm.html”。Jetty是一个轻量级的Java Web服务器和Servlet容器,能够方便地运行Web应用程序。这意味着用户可以直接在Jetty环境下运行这个...

    flex Twaver组件使用

    它可以驱动多个视图,如`twaver.controls.Tree`、`twaver.controls.Table`和`twaver.network.Network`。当`DataBox`中的数据发生变化时,这些变化会自动反映到与其关联的所有视图组件上,实现了数据和视图的双向绑定...

    Twaver java 4.1资源包(库+学习文档+javadoc)

    【标题】"Twaver java 4.1资源包(库+学习文档+javadoc)" 提供的是一个针对Twaver 4.1版本的全面学习和开发资源,这是一款基于Java的图形化建模和可视化工具。它允许开发者创建复杂的网络图表、流程图和其他图形...

    TWaver的3d图形组件库,小demo

    通过这个"TWaver的3d图形组件库,小demo",开发者不仅可以学习到如何使用TWaver库创建3D图形,还能了解到现代Web开发中的3D数据可视化技术和最佳实践。通过研究提供的源代码,开发者可以提升自己在WebGL和JavaScript...

    twaver-html5-5.9.0-api_html5_-5.9.0-api_twaver_

    通过这些文件,开发者可以学习如何在HTML5环境中集成Twaver,创建交互式的可视化界面,包括添加图形元素、处理用户交互、响应事件、定制样式和布局等。同时,了解API文档可以帮助开发者掌握如何利用Twaver提供的类和...

    twaver-java-4.1

    7. `documents`:可能包含TWaver的用户手册、教程、API参考等文档,是深入学习和掌握TWaver的关键资源。 8. `lib`:库文件夹,包含了TWaver的核心库和其他依赖的第三方库,这些库文件是构建和运行TWaver应用所必需...

    TWaver-java-4.1最新 官网试用版jar包及Demo

    用户可以通过试用版的jar包进行初步体验,同时附带的Demo则能够帮助开发者更好地理解和学习如何在实际项目中运用TWaver。 【标签】"TWaver":这是此资源的关键标识,代表了TWaver库。TWaver是一个强大的图形绘制和...

    TWaver HTML5 Developer Guide

    Tree组件章节中,开发者将学习到如何定义树节点的样式,以及如何控制树的层次结构和排序,实现复杂的树形结构。 Table组件章节讲解了表格的列设置以及数据排序方法。 Chart组件章节介绍了多种图表组件的使用方法,...

    twaver web实例源码

    【标题】"Twaver Web实例源码"是一个关于使用Twaver与ExtJS结合的Web应用程序开发的学习资源。Twaver是一款强大的图形化建模和可视化工具,常用于数据可视化、网络拓扑图、流程图等场景。ExtJS则是一个流行的...

    TWaver Web 之入门

    NULL 博文链接:https://bianrongxin.iteye.com/blog/1474676

    TWaver图形界面之道

    ### TWaver图形界面之道——关键知识点解析 #### 一、TWaver概述 TWaver是一款专为图形用户界面(GUI)开发而设计的组件产品。它不仅适用于电信行业的网络管理系统(NMS),同样适用于非电信领域的各类图形化界面...

    TWaver HTML5 开发指南代码

    通过学习和研究这些代码,开发者可以快速掌握TWaver的用法,将其应用到实际项目中。 综上,TWaver HTML5开发指南代码是开发人员构建高效、互动的拓扑工具和机房展示应用的重要资源,它简化了HTML5环境下的可视化...

    twaver flex developer guid

    - **数据容器之事件机制**:通过事件监听器机制来响应数据容器的状态变化。 - **快速查找-QuickFinder**:提供高效的查询方法来定位特定的数据元素。 - **选中模型-SelectionModel**:管理当前选中的数据元素集。...

    twaver 教程

    通过上述内容的学习和实践,你可以熟练地使用Twaver构建出专业且功能丰富的可视化应用,无论是电信行业的网络管理还是其他领域的复杂系统展示,Twaver都能成为你的得力工具。在实际操作中,结合压缩包内的资源,按照...

    TWaver Java 3.7 Developer Guide

    《TWaver Java 3.7 开发者指南》是一份详尽的技术文档,旨在为开发者提供使用TWaver Java 3.7版本进行网络、...通过深入学习这份指南,开发者能够充分利用TWaver Java的强大功能,创造出既美观又实用的应用程序界面。

    twaver for flex 开发手册

    ### TWaver for Flex 开发手册知识点总结 #### 一、TWaver for Flex 概述 TWaver for Flex 是一款由 Serva Software 开发的高级图形组件库,它为 Flex 应用程序提供了一系列丰富的图形控件和服务。这些控件允许...

Global site tag (gtag.js) - Google Analytics