创建并置表,第1部分: 使用Flex创建JTable

简介:基于 Adobe Flex 的并置表(juxtaposition table)是一个二维可视化辅助工具,可 用于排列、分类和比较大量数据。使用并置表可以在一个方便紧凑的视图中定义自己的透视图。本文演 示如何动态地创建表的列和修改表的内容。此外,您还将了解到如何在一个单元格中显示多个项,以及 如何改变单元格的形状和颜色。

简介

为了减轻非 IT 专业人员(比如业务顾问)的负担,我们将构建带有类似于 Microsoft PowerPoint 的演示特性的原型建模工具,以帮助业务顾问组织大量非结构化数据,并 为客户准备演示文档。我们的工具的第一个版本基于 Eclipse。不过,为了利用更佳的图表功能,我们 决定转向 Rich Internet Application 技术。 我们考虑了流行的 Ajax 和 Adobe Flex 的优缺点,最 终决定使用 Flex。

我们的基于 Flex 的应用程序允许用户使用各种可视化辅助工具创建幻灯片,包括项列表、图表编辑 器、标记云、关系搜索器和表。在本文中,我们将解释一个特殊的辅助工具,它允许用户排列、分类和 比较大量数据。我们将这个辅助工具称为 “Juxtaposition Table” 或 JTable。借助 JTable,用户可以将数据可视化为二维视图,并且在运行时交互地更改水平和垂直数据集。该工具支持 从一个简单视图中包含的各种用户定义透视图检查数据库或信息空间。

在查看代码之前,我们先 介绍基础的场景,我们在该场景中扮演一个调查中心,负责研究公众喜欢的图书、电影、歌曲和站点的 品味。一个调查组可以包含任意数量的参与者和可扩展的调查类别列表。为简单起见,我们采用很小的 调查组。参与者是:John、Jennifer 和 Ivan。在完成调查之后,我们将结果传输到一个简单的数据库 中。现在,我们希望这些结果能够显示在我们的 Web 站点中以供查阅。我们可以提供一个很大的 HTML 表来储存调查结果,但它在用户眼前会非常杂乱,因为表太大导致信息非常密集。我们也可以提供多个 表,以从多个预定义的透视图中显示数据。不过,这种方法也不理想,因为用户被局限在我们预定义的 表中,并且在多个表之间滚动可能令人烦恼。

采用 JTable 可以实现一个出色的解决方案。如果 我们在 JTable 中显示数据,用户就可以更改水平和垂直的数据集,从而根据自己的信息需求选择定制 的透视图。例如,用户可能希望了解 John 最喜欢的图书;这样,就可以选择 “John” 作 为表的水平维度,选择 “Favorite Books” 作为表的垂直维度。用户也许希望了解调查参 与者最喜欢的电影。类似地,可以选择 “All People” 作为表的水平维度,选择 “Favorite Movies” 作为表的垂直维度。通过使用 JTable,用户可以在一个方便紧凑的视 图中定制自己的透视图。要运行 JTable 应用程序,可以在下面的 下载表 中下载 DataGridDeveloperWorksExample1。运行 JTable 应用程序之后,您就可以以各种组合方式查看调查的 结果。

我们使用 Flex 的 AdvancedDataGrid 组件来实现 JTable。在这个分为两部分的系列文 章中,我们将演示如何定制和扩展在 Flex 3 数据可视化包中提供的 AdvancedDataGrid 组件。在本文 中,我们还演示如何使用水平和垂直控制条在运行时修改 JTable 的内容,以及如何将表的第一列和第 一行转变成列标题栏和行标题栏。在第 2 部分中,我们将演示在单元格中流畅地扩展和收缩项,以及以 拖放的方式在单元格之间移动项。

本系列文章假设读者熟悉 Flex 编程环境和 ActionScript 语言。

时间: 2024-08-04 08:36:12

创建并置表,第1部分: 使用Flex创建JTable的相关文章

SQL Server2005中用语句创建数据库和表

在SQL Server2005中用语句创建数据库和表: 具体示例如下: use master go if exists (select * from sysdatabases where name='Study') --判断Study数据库是否存在,如果是就进行删除 drop database Study go EXEC sp_configure 'show advanced options', 1 GO -- 更新当前高级选项的配置信息 RECONFIGURE GO EXEC sp_confi

ASP.NET实例教程:创建数据透视表

代码:Pivot.zip 数据透视表提供的数据三维视图效果,在Microsoft Excel能创建数据透视表,但是,它并不会总是很方便使用Excel.您可能希望在Web应用程序中创建一个数据透视报表.创建一个简单的数据透视表可能是一件非常复杂的任务.所以,我打算不但为你提供一个非常有用的工具创建简单和高级的数据透视表,而且为你移除一些笼罩他们的神秘面纱. 目标是:我们想要有能力将datatable中的二维的数据转换成三维视图. 在大多数情况下,你会从数据库的查询数据填充数据表,例如 SELECT

用SELECT 创建记录和表

select|创建 用SELECT 创建记录和表你也许已经注意到,INSERT 语句与DELETE语句和UPDATE语句有一点不同,它一次只操作一个记录.然而,有一个方法可以使INSERT 语句一次添加多个记录.要作到这一点,你需要把INSERT 语句与SELECT 语句结合起来,象这样: INSERT mytable (first_column,second_column)SELECT another_first,another_secondFROM anothertableWHERE ano

创建Access 2007表

前言 完成Access2007表的设计后,就可以开始创建Access2007表了,即构造每个表中的字段.定义每个字段的数据类型.设置字段的属性. Access2007创建表分为创建新的数据库和在现有的数据库创建表两种情况.在创建新的数据库时,自动创建一个新表.在现有的数据库中创建表可以通过以下五种方式: (1)直接创建一个空表. (2)使用模板创建表. (3)使用设计视图创建表. (4)从其他数据源(如Excel2007工作薄.Word2007文档.文本文件或其他数据库)导入或链接到表. (5)

MySQL中的创建库、表以及查询的基础语句

MySQL中的创建库.表以及查询语句对我们以后很好的应用数据库是很大有帮助的,本文中是对这些基础语 句的总结,希望会对大家有些帮助 1.创建与删除数据库 创建数据库 mysql> create database testdb; mysql> create database if not exists testdb; mysql> create schema if not exists student character set 'gbk' collate 'gbk_chinese_ci'

动态创建MSSQL数据库表存储过程

下面是利用SQL语句创建数据库.表.存储过程.视图.索引.规则.修改表.查看数据等的方法.所要增加的控件如下: 以下是引用片段:Imports System.Data Imports System.Data.SqlClient Public Class Form1 Inherits System.Windows.Forms.Form Private ConnectionString As String = "Data Source=.;Initial Catalog=;User Id=sa;Pa

命令行中使用oracle命令创建数据库和表空间

本文详细介绍命令行中使用oracle命令创建数据库和表空间 1.使用超级用户登录sqlplus. 2.创建表空间: SQL> create tablespace test 2 datafile 'D:\oracle\oradata\test\test.dbf' 3 size 100M autoextend on next 10M maxsize unlimited extent management local; 3.创建用户和密码: SQL> create user Username ide

Oracle中创建和管理表详解

以下是对Oracle中的创建和管理表进行了详细的分析介绍,需要的朋友可以过来参考下   SQL> /* SQL> 对于表的操作: 创建表,修改表(添加新的列,改变当前某些列,删除列),删除表 SQL> 创建表: create table(需要create table的权限) SQL> 修改表: alter table tablename add/modify/drop SQL> 删除表:drop table tablename SQL> */ SQL> show

创建CSS样式表的十个技巧

  如果你想成为一位CSS专家的话,光背出一堆选择器是不够的,还要能够提高CSS样式表的可读性,开发效率以及维护性.这里,Jina Bolton 将给我们分享一下她关于如何创建性感的CSS样式表的十个技巧. 本文主要内容为:CSS代码编码规范,教你如何写出整洁漂亮性感的css代码,如何清晰的组织你的样式表文件.闲言少叙,直接进入正题 1. 不要在HTML文件中使用CSS样式定义 相信对于多数有一定工作经验的设计师来说,使用外部样式表来定义CSS样式是小菜一碟的工作.但我在这里仍然需要再次告诉你这