现在一般都是根据onSelect事件,获得单机的一行数据,直接获得 onSelect:getSelected function getSelected(rowIndex,rowData){ rowData就包含了当前行的数据 }
这是一个非常宽泛的问题,数据可视化只是数据展示的一种手段,这个问题的回答取决于以下几个方面:
(1)我们希望从数据中获取什么信息,也就是所谓的需求是什么,目标是什么?只有弄清楚了目标是什么,才能知道我们要干什么、需要什么。
(2)当我们知道自己需要什么内容之后,就要进一步梳理所需要的数据有哪些,然后一点点去剖析这些数据在什么地方,可以通过什么手段或者方法去获取。
(3)获取了数据之后,为了达到我们的目标,就需要对这些数据进行整理,整理的过程就是数据信息提取的过程,以“以终为始”的方式一步步推到、提取所需的信息,这些提取的信息就是有价值的数据,也是就是我们要最终展示的内容。
(4)至于最终展示的形式,可以是可视化的图形、报表,也可以是明细的数据、结果、文字,就看什么形式是符合最终用户要求的,可以清晰、直观的表达的即可。
DataSet 可以理解为内存数据库,里面包括了表,而表下面有行和列。
因此,第一步要确定是哪个表,可通过索引或表名来获取。
示例如下:
LabelText = DataSet11Tables("COMMUSERS")Rows[0]["User_Name"]tostring()
LabelText = DataSet11Tables("COMMUSERS")Rows(0)Item("user_name")
LabelText=dsTables(0)Rows(i)Item( "列名 ")
LabelText=dstables[0]rows[0][ "filed "]
LabelText=dsTables[0]Rows[x][y]
在A3中输入公式:
=IF(A2=-1,-1,OFFSET($A$2,,A2))
选中A3,右拉复制到G3
选中A3:G3,下拉复制,直到所有行都输出-1,或者循环。
这样,从第二行开始,到最后一行,每一列为一组,就是你要的数。
从数组中获取指定数量的数据值,然后打包,这个数组中的的长度是未知的。
例如:数组中有22个数据值,指定每个包为5条数组,则输入如下:
第一个包:01 | 02 | 03 | 04 | 05
第二个包:06 | 07 | 08 | 09 | 10
第三个包:11 | 12 | 13 | 14 | 15
第四个包:16 | 17 | 18 | 19 | 20
第五个包:21 | 22
大致的方法体如下:(剩余的两条未实现打包,怎样将剩余的2条计算并打包)
protected void Test() {
//每行输出的数量
const int PACKAGE = 5;
//该数组的元素数量是未知的,当前假设有22个数据值。
String[] arr = new String[22] { "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22" };
int count = arrLength;
int n = 0;
String[] a = new String[PACKAGE];
for (int i = 0; i < count; i++) {
n++;
a[n - 1] = arr[i];
if (n == PACKAGE) {
ConsoleWriteLine(StringJoin("|", a) + "\r\n");
n = 0;
a = new String[PACKAGE];
}
}
}
/
想要的输出结如下:(数组中有N个元素,按照 PACKAGE 的值换行)
01 | 02 | 03 | 04 | 05
06 | 07 | 08 | 09 | 10
11 | 12 | 13 | 14 | 15
16 | 17 | 18 | 19 | 20
21 | 22
/
下面是一个从 mysql 数据获取用户数据的案例,可以参考一下:
import javasqlConnection;import javasqlDriverManager;
import javasqlResultSet;
import javasqlSQLException;
import javasqlStatement;
import javautilArrayList;
import javautilList;
// 用户类,存储单个用户信息
class User {
private int id;
private String name;
public User(int id, String name) {
thisid = id;
thisname = name;
}
public int getId() {
return id;
}
public void setId(int id) {
thisid = id;
}
public String getName() {
return name;
}
public void setName(String name) {
thisname = name;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]";
}
}
public class Demo1 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 本例使用 mysql 数据库,演示将数据库 test 的 tb_users 表中的用户信息
// 放到 List 中
// 加载数据驱动
ClassforName("commysqljdbcDriver");
// 数据库连接字符串, 此例数据库为 test
String url = "jdbc:mysql://localhost:3306/test";
String user = "root"; // 数据库用户名
String password = ""; // 数据库密码
// 打开一个数据连接
Connection conn = DriverManagergetConnection(url, user, password);
Statement stmt = conncreateStatement();
// 获取表 tb_users 所有用户信息到结果集中
ResultSet rs = stmtexecuteQuery("SELECT id, name FROM tb_users");
// 定义一个存放用户信息的 List
List<User> users = new ArrayList<>();
// 提取用户信息,并将用户信息放入 List
while (rsnext()) {
// 获取用户ID
int id = rsgetInt(1);
// 获取用户名
String name = rsgetString(2);
usersadd(new User(id, name));
}
rsclose();
stmtclose();
connclose();
// 显示用户信息
for (User u : users) {
Systemoutprintln(u);
}
}
}
以上就是关于怎么获取datagrid中数据全部的内容,包括:怎么获取datagrid中数据、数据可视化从数据中提取的信息有哪些、如何获取DataSet中数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)