easyui-datagrid 获取所有行列值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyui-datagrid 获取所有行列值相关的知识,希望对你有一定的参考价值。
$(function()
//实现对DataGird(表格)控件的绑定操作
$('#grid').datagrid( //定位到Table标签,Table标签的ID是grid
url: '../json/xcxl.json', //指向后台的Action来获取当前菜单的信息的Json格式的数据
iconCls: 'icon-view',
nowrap: true,//不换行
width: 800,
autoRowHeight: false,//自动调整行高
striped: true,
collapsible: false,//不可折叠
/* pagination: true,
pageSize: 10,//一页显示的行数
pageList: [10,20,30],//可选择的一页显示的行数,默认10
rownumbers: true,//显示行号 */
fitColumns: true,//列的宽度自动填充
columns: [[
title: '操作', field: 'cz',idField: 'cz', width: 100,align: 'center',formatter:operate,
title: '序列', field: 'xl',idField: 'xl',idField:'xl', width: 50 ,align: 'center',editor: type: 'validatebox', options: required: true,
title: '出发站', field: 'cfz',idField: 'cfz', width: 100,align: 'center',formatter:setRoutingFrom,
title: '耗时(时)', field: 'hs',idField: 'hs' ,textField:'hs', width: 50 ,align: 'center',editor: type: 'validatebox', options: required: true
]]
);
);
这是我代码,当我点击页面提交按钮时怎么获取到所有列的值,比如序列,出发站,耗时,
var rows = $('#grid').datagrid("getRows"); 我这里获取所有行,
for(var i=0;i<rows.length;i++)
alert(rows.hs);
这里打印出来的是 undefined ,请问具体要怎么才能拿到值,万分感谢!
easyui-datagrid怎么获取所有行列值方法:
1、定义id为datagrid的easyui-datagrid,并将其置于id为div-dg的div内;
2、定义datagrid的列时,使用下面的方式为datagrid添加文本框列,并将其value设置为100;
3、使用如下的方式获取文本框列的第一个值,使用eq(index)方法可以获取第任意个文本框的值;
4、结果并未能如愿,查看生成的html源代码;
5、发现,生成的文本框列位于id为div-dg的div内,而不是id为datagrid的table下面,所以才会出现前面所述的结果。正确的获取文本框列的值的方法如下。
如需获取每一行的行列值,内容如下:
参考技术A rows.hs 不对 你试试rows[i].hs追问一样的,不行!
追答那你debug js 吧 看看 js有没有错 rows值拿没拿到 拿到的话 理论上说rows[i] .hs 是没有问题的
参考技术B getRows好像只是获得多少行,不是数据。需要你使用getData来获得
转个firebug。
console.info(rows);
你就能看到rows到底是什么了
GROUP BY 并将列值放入单行列
【中文标题】GROUP BY 并将列值放入单行列【英文标题】:GROUP BY and get the columns values into single row column 【发布时间】:2021-06-25 01:52:19 【问题描述】:我正在考虑是否可以获取使用 GROUP BY room 的所有值。例如,我有一个名为 subject 、 room 和 class 的表
表格主题
subject_id | subject_name
-------------------
1 | math
2 | science
3 | english
桌子房间
room_id | room_name
-------------------
1 | sunflower
2 | cornflower
3 | redflower
桌子教室
id | room_id | subject_id
-------------------
1 | 1 | 1
2 | 1 | 2
3 | 1 | 3
现在是查询。不确定我使用的查询是否正确或足够的查询..但输出的查询显示预期不是
SELECT * FROM clas-s-room
LEFT JOIN subject ON clas-s-room.subject_id = subject.subject_id
LEFT JOIN room ON clas-s-room.room_id = room.room_id
GROUP BY room_name
现在我想要这样的输出
教室
room_name | subject_name
------------------------
sunflower | math
| science
| english
它应该按向日葵分组为一行
【问题讨论】:
这不是 GROUP BY 所做的。考虑处理应用代码中数据显示的问题 哦,抱歉,以为是group by。不知道能不能达到我想要的输出? 【参考方案1】:GROUP BY
旨在减少行数并为这些行启用聚合。在您的情况下,以下查询 without group by
产生:
SELECT room_name, subject_name
FROM clas-s-room
LEFT JOIN subject ON clas-s-room.subject_id = subject.subject_id
LEFT JOIN room ON clas-s-room.room_id = room.room_id
+-----------+--------------+
| room_name | subject_name |
+-----------+--------------+
| sunflower | english |
| sunflower | math |
| sunflower | science |
+-----------+--------------+
所以使用GROUP BY
没有多大意义,但如果我们这样做,结果如下:
SELECT room_name, subject_name
FROM clas-s-room
LEFT JOIN subject ON clas-s-room.subject_id = subject.subject_id
LEFT JOIN room ON clas-s-room.room_id = room.room_id
GROUP BY room_name, subject_name
+-----------+--------------+
| room_name | subject_name |
+-----------+--------------+
| sunflower | english |
| sunflower | math |
| sunflower | science |
+-----------+--------------+
请注意,每行的值都显示在两列中。这既是预期的,也是期望的。
GROUP BY
不是一个“表示”工具,它将抑制第一列中的值输出,这是一个“报告工具”或“表示层”应该处理的东西.
demo
【讨论】:
以上是关于easyui-datagrid 获取所有行列值的主要内容,如果未能解决你的问题,请参考以下文章