Twaver-HTML5基础学习(40)表格可视化视图组件(Table)

简介: 本文介绍了如何在Twaver-HTML5中使用表格可视化视图组件(Table),包括创建表格、定义列对象、实现数据绑定和排序,以及处理表格事件和获取表格数据的方法。

表格可视化视图组件(Table)

简单实用table:Twaver-HTML5基础学习(10)嵌入Table

twaver.controls.Table组件实现了与DataBox的数据绑定,用以展示容器内元素属性等信息,每行对应一个数据元素。

表格列的定义,过滤器以及排序功能的使用。

创建表格

一张完整的表格要包括表头和内容两部分,所以TWaver的表格也要包含这两部分,由于TWaver的强大封装,简化创建接口,所以创建一张表格只需要执行下面几步:

//1.创建table并绑定DataBox
var table = new twaver.controls.Table(box);
//2.创建tablepane并绑定table数据内容,第二个参数为表头,默认不需要传入参数
 var tablePane = new twaver.controls.TablePane(table,tableHeader);
//3.布局表格面板
var tableDom = tablePane.getView();
tableDom.style.width = "100%";
tableDom.style.height = "100%";
document.body.appendChild(tableDom);
//4.向ColumnBox中添加数据,ColumnBox继承于DataBox,用来管理表格中的数据,详细可参考数据容器一章
var column = new twaver.Column(name);
column.setName(name);
column.setPropertyName(propetyName);
column.setPropertyType(propertyType);
table.getColumnBox().add(column);

twaver.controls.TablePane 表格面板

它是用于保存表格的一种面板,表格面板中包含了表格体和表头,即使在创建表格面板时不传入表头,TWaver也会自动为表格体创建一个默认的表头。

使用:

   //创建tablepane并绑定table数据内容,第二个参数为表头,默认不需要传入参数
   var tablePane = new twaver.controls.TablePane(table,tableHeader);

    //布局表格面板
    var tableDom = tablePane.getView();
    tableDom.style.width = "100%";
    tableDom.style.height = "100%";
    document.body.appendChild(tableDom);

在这里插入图片描述

twaver.Column 列对象

列是一种基本元素,它是存在于列容器中的(ColumnBox)。列是用来显示表格或树表的基本元素

TWaver HTML5中的表格组件用于展示DataBox中元素属性,每行对应了一个数据元素,每一列对应元素的一种属性。

表格列的实现类是twaver.Column,首先我们需要设置该列关联数据元素的哪个属性,余下还可以设置列头名称,列头呈现方式,单元格如何呈现等等。

使用:

    //向ColumnBox中添加数据,ColumnBox继承于DataBox,用来管理表格中的数据,详细可参考数据容器一章
    var column = new twaver.Column(name);
    //设置列的列名
    column.setName(name);
    //列对应的属性
    column.setPropertyName(propetyName);
    //属性类型
    column.setPropertyType(propertyType);
    //添加到ColumnBox盒子中
    table.getColumnBox().add(column);
/**
 *Column表格列的设置
 * 列头名称:
 * 属性名称:
 * 属性类型:field(如node.name)、accessor(如node.getName(),node.setName())、style(node.getStyle()、 
 *           node.setStyle()、node.s())、client(node.getClient()、node.setClient());
 * 属性值类型:
 */
var column = new twaver.Column();
column.setName("Name");//设置列头名称
column.setPropertyName('name');//设置属性名
column.setPropertyType('accessor');//设置属性类型,默认就是'accessor'类型
column.setValueType('string');//设置值类型,默认就是'string'类型
table.getClomunBox().add(column);//设置到表格列容器

style属性列的例子

//再举个style属性列的例子,定义一列显示数据元素的'inner.color'样式属性,并设置不可编辑
var column = new twaver.Column();
column.setName('Inner Color');
column.setPropertyName('inner.color');
column.setPropertyType('style');
column.setValueType('color');
table.getColumnBox().add(column);

在这里插入图片描述

表格数据排序

表格中的数据可以通过调用dataBox.move***(element)来作调整,实现表格行的上下移动。
此外表格组件的每一列都支持排序功能,默认点击列头切换排序状态:升序、降序、不排序,默认的排序比较器使用字符串比较,特殊数据类型的可以定制排序比较器,

表格数据排序
在这里插入图片描述

常见问题

1.在Table上实现拖拽到Network创建网元
2.单击表格时获得点击的某列表头名称及值

table.getView().addEventListener("mousedown", function(e) {
   
        var column = table.getColumnAt(e);
        console.log(column.getName());
});

3.如何响应表格某列的值变化事件

//表格中的每一列都对应一个网元的一个属性。可以直接对table.getDataBox()进行监听即可:
box.addDataPropertyChangeListener(function(e) {
   
});

4.获取选中表格的数量

table.getSelectionModel().getSelection().size();

5.如何让表格列占满剩余空间
6.获取Table中每行每列的值

//获取每一行数据。
table.getDataBox()
//获取表格的列,对应twaver.Column
table.getColumnBox()
//获取第一行第一列的值
var node =table. getDatabox.getDataAt(0);
var column = table.getColumnBox().getDataAt(0);
var value = table.getValue(node,column);

树表可视化视图组件(TreeTable)

所谓树表组件,就是在普通表格的基础上增加父子关系,可支持展开、合并等功能。使用方法和Table一样。

链接:http://doc.servasoft.com/twaver-document-center/recommended/twaver-html5-guide/%e8%a7%86%e5%9b%be%e7%bb%84%e4%bb%b6/#Tree
在这里插入图片描述

学习参考:TWaver Documents

目录
相关文章
|
1天前
|
数据可视化 前端开发
Twaver-HTML5基础学习(39)鹰眼可视化视图组件(OverView)
本文介绍了如何在Twaver-HTML5中使用鹰眼(Overview)可视化视图组件,它作为Network的缩略图,允许用户通过缩略图导航Network,支持单击、双击和框选操作来控制Network视图。
10 5
Twaver-HTML5基础学习(39)鹰眼可视化视图组件(OverView)
|
1天前
Twaver-HTML5基础学习(35)Network中ToolTip显示Chart(视图未成功出现)
本文尝试在Twaver-HTML5的Network组件的ToolTip中显示echarts饼图,但未成功,可能与版本有关。
8 4
Twaver-HTML5基础学习(35)Network中ToolTip显示Chart(视图未成功出现)
|
1天前
|
数据可视化 前端开发 容器
Twaver-HTML5基础学习(41)列表可视化视图组件(List)
本文介绍了如何在Twaver-HTML5中使用列表可视化视图组件(List),展示了如何创建列表、设置列表属性(如行高、间隔颜色等)、实现数据绑定和排序,以及如何通过React代码示例进行操作。
6 2
Twaver-HTML5基础学习(41)列表可视化视图组件(List)
|
1天前
Twaver-HTML5基础学习(30)监听事件_network绘制监听_network视图操作监听_鼠标事件的监听
本文介绍了如何在Twaver-HTML5中监听网络视图操作事件,包括视图绘制、鼠标事件以及获取鼠标下的网元等。
5 1
Twaver-HTML5基础学习(30)监听事件_network绘制监听_network视图操作监听_鼠标事件的监听
|
2天前
|
移动开发 前端开发 JavaScript
Twaver-HTML5基础学习(10)嵌入Table
本文介绍了如何在Twaver HTML5中嵌入表格(Table),并设置表格的列(Column)和样式。通过示例代码展示了如何在React组件中创建表格并添加数据,以及如何通过样式设置表格元素的颜色。
10 2
Twaver-HTML5基础学习(10)嵌入Table
|
1天前
|
数据可视化 前端开发
Twaver-HTML5基础学习(25)网元可视化视图组件(Network)
这篇文章介绍了Twaver-HTML5中的网元可视化视图组件(Network)的层次结构,包括view、rootCanvas和topCanvas的使用方法和示例。
17 6
|
1月前
|
监控 数据可视化 前端开发
【前端】政务服务大数据可视化监控平台(源码+html+css+js)
【前端】政务服务大数据可视化监控平台(源码+html+css+js)
|
2月前
HTML【详解】表格 table 标签(table的属性,语义化表格,简易表格,合并单元格)
HTML【详解】表格 table 标签(table的属性,语义化表格,简易表格,合并单元格)
138 0
HTML【详解】表格 table 标签(table的属性,语义化表格,简易表格,合并单元格)
|
3月前
|
移动开发 前端开发 JavaScript
HTML5+CSS3+JavaScript网页实战
HTML5+CSS3+JavaScript网页实战
|
11月前
|
移动开发 前端开发 搜索推荐
(前端开发入门必看)一口气读完HTML5与CSS3基础教程,快速建造前端思维(更新中)
(前端开发入门必看)一口气读完HTML5与CSS3基础教程,快速建造前端思维(更新中)
116 0