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基础学习(41)列表可视化视图组件(List)
本文介绍了如何在Twaver-HTML5中使用列表可视化视图组件(List),展示了如何创建列表、设置列表属性(如行高、间隔颜色等)、实现数据绑定和排序,以及如何通过React代码示例进行操作。
6 2
Twaver-HTML5基础学习(41)列表可视化视图组件(List)
|
移动开发 数据可视化 HTML5
IBM发布开源HTML5可视化设计工具Maqetta
译文链接:http://www.oschina.net/news/17131/ibm-launches-maqetta-html5-tool
820 0
WK
|
1天前
|
存储 移动开发 前端开发
HTML5和CSS5有什么区别
HTML5和CSS5在网页设计中扮演不同角色。HTML5是超文本标记语言的第五版,通过新特性如实时更新、跨平台运行及更好的安全性等,定义网页内容和结构。尽管常说CSS5,实际最新的CSS版本包含多个模块如CSS Grid和Flexbox,主要用于控制网页布局和样式,提供强大的选择器、动画支持和响应式设计,与HTML5相辅相成,共同构建现代网页的基础架构。
WK
7 3
|
17天前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
14天前
|
XML JavaScript 前端开发
JavaWeb基础4——HTML,JavaScript&CSS
HTML,JavaScript&CSS、元素、标签、css 选择器、属性、JavaScript基础语法、JavaScript对象、BOM浏览器对象模型、DOM文档对象模型、事件监听、正则对象RegExp/ES6
JavaWeb基础4——HTML,JavaScript&CSS
|
27天前
|
移动开发 JavaScript 前端开发
揭秘!如何用Web2py+HTML5/CSS3/jQuery打造超炫响应式网站?你的设计梦想即将照进现实!
【8月更文挑战第31天】本文详细介绍如何利用Web2py框架及HTML5、CSS3与jQuery构建响应式网站。首先需安装Python和Web2py,并启动服务器。接着,在Web2py中创建新应用,例如命名为“ResponsiveSite”。随后,编写HTML5基本结构,包括头部、导航栏等元素。在`styles.css`文件中添加CSS3样式代码,实现响应式布局。最后,通过在`scripts.js`中加入jQuery脚本提升页面交互性,如点击导航项时平滑滚动至目标区域。此教程为你打下响应式网站设计的基础,便于进一步扩展和优化。
13 1
|
30天前
|
移动开发 前端开发 JavaScript
HTML与CSS二三事
HTML与CSS二三事
|
13天前
|
XML 前端开发 JavaScript
jQuery HTML / CSS 方法
jQuery HTML / CSS 方法
19 0
|
1月前
|
前端开发 JavaScript
3分钟掌握!用HTML+CSS实现懒加载,真的这么简单?
3分钟掌握!用HTML+CSS实现懒加载,真的这么简单?