easyui的datagrid中为我们提供了行选择功能的api,不知是否浏览器不兼容的原因,无论在firefox还是在ie下面默认提供的行选择功能不是非常好用。为获取共选择了多少行,根据api获取的row count和我们实际界面上的row count总是不相等,这样就为修改,删除等功能制造了麻烦。
使用easyui默认提供的行选择api分别获取选择的行,行数,每行数据的id字符串,对选择的行赋值到对应的form表单元素中:
var row = $('#grid').datagrid('getSelections'); //acquire selected rows
var count=row.length; //acquire the count of the selected rows
var ids = '';
$.each(row, function(i, rowval) {
if (i)
ids += ',';
ids += rowval.id;
}) //acqire selected row ids string
var selrow = $('#grid').datagrid('getSelected'); //acquire the first selected row
$('.easyui-validatebox').each(function(index){ //asign the row value to the form input
$(this).val(selrow[this.id]);
});
但是$('#grid').datagrid('getSelections')获取的结果和实际界面上不符,这应该算是easyui中的一个bug吧。
更正:$('#grid').datagrid('getSelections')获取的结果和实际界面是相符合的,需要
$('#grid').datagrid({title: mygrid.title,
iconCls:'icon-save',
width:650,
height:667,
url:mygrid.url,
sortName: 'id',
sortOrder: 'asc',
remoteSort: false,
idField:'id',
columns: mygrid.columns,
pagination:true,
noheader:false,
rownumbers:true,
toolbar: mygrid.toolbar
});
中指定正确的idField。(2011-3-7)
因此要解决一下一系列问题:
(1)根据界面选择获取选择rows的总行数。
var count=$('.datagrid-row-selected td:nth-child(1) div').length;
(2)根据界面选择获取选择row的ids字符串
var ids='';
$('.datagrid-row-selected td:nth-child(3) div').each(function(i) {
if (i)
ids += ',';
ids += $(this).text();
});
(3)根据选择的行为form表单赋值。有两种方式
第一种方式,根据grid界面的显示值获取选择行的值。但是这种方式对于不在grid中显示的hidden域无法赋值
var rowval=[];
$('.datagrid-row-selected td div').each(function(i) {
if (i!=0 && i!=1)
rowval.push($(this).text());
});
$('.easyui-validatebox').each(function(index){
$(this).val(rowval[index]);
});
第二种方式,需要grid通过ajax load 数据的时候,获取。通过在jquery.easyui.min.js中第6347行的函数中增加一个全局变量datastore
$.ajax({type:opts.method,url:opts.url,data:_471,dataType:"json",success:function(data){
datastore=data;
........
在使用的时候首先获得选择行对应的index
var row_index;
$('.datagrid-row-selected td:nth-child(1) div').each(function(i) {
row_index = $(this).text();
});
然后赋值
var rowval=datastore.rows[row_index];
$('.easyui-validatebox').each(function(index){
$(this).val(rowval[this.id]);
});
- 大小: 5.2 KB
分享到:
相关推荐
这个“jquery easyui datagrid demo”包含了一些关于如何使用 jQuery EasyUI 中 Datagrid 组件的示例和相关文档,帮助我们理解和应用 Datagrid。 首先,`datagrid.doc` 文件很可能是 Datagrid 的简要说明文档,它...
jQuery EasyUI Datagrid 用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) Demo 扩展 jQuery EasyUI Datagrid 数据行鼠标悬停离开事件,源码奉献!!!
在jQuery EasyUI中,DataGrid是一种常用的表格展示控件,它可以与各种编辑器结合使用,如combobox(下拉框)来实现更丰富的交互功能。本文主要探讨的是如何利用jQuery EasyUI的DataGrid和combobox组件实现多级联动的...
easyUI datagrid 自动调整行号大小
jquery easyui datagrid 性能优化,优化后可快速提升查询性能。唯一的缺陷就是不支持可编辑grid了。只需要在引入easyui.js后面引入此js即可。
在IT行业中,EasyUI Datagrid是一款基于jQuery的前端数据展示组件,它提供了丰富的表格功能,如排序、分页、过滤等。在实际工作中,我们经常需要将这些展示的数据导出到Excel文件,以便进行进一步的分析或存储。下面...
在网页开发中,jQuery EasyUI 是一个基于 jQuery 的前端框架,它提供了丰富的用户界面组件,如 DataGrid,用于创建交互式、数据驱动的表格。DataGrid 是 EasyUI 的一个重要组件,它可以帮助开发者轻松地展示、操作和...
easyui datagrid editor回车切换单元格示例,适合熟悉easyui但又不懂如何做的人员,可能参考一下源码JS。
jQuery EasyUI 是一个基于 jQuery 的前端框架,它提供了一系列丰富的组件,使得开发者可以轻松构建用户界面,而 Datagrid 是其中非常重要的一个组件,常用于数据展示和管理。本篇文章将详细解析 jQuery EasyUI ...
jQuery EasyUI Datagrid 是一个基于 jQuery 和 EasyUI 框架的数据网格组件,它提供了丰富的数据展示和操作功能,常用于构建数据密集型的Web应用。这个教程将深入讲解其核心概念、用法以及常见应用。 一、jQuery ...
JQuery EasyUI DataGrid服务端分页加载数据后,DataGrid行号不能延续,总是重新由1开始。因为服务端分页取回的是单页数据,通过LoadData方法加载数据后,pageNumber属性被初始化为1,因此行号总是重新由1开始。现在...
在IT领域,EasyUI是一个基于JavaScript和jQuery的前端框架,它为开发者提供了丰富的组件和样式,使得构建用户界面变得更加便捷。在本示例中,我们关注的是如何在EasyUI的Datagrid组件上添加一个特殊功能:当鼠标悬停...
在IT领域,EasyUI Datagrid是一款基于jQuery的前端数据展示组件,它提供了丰富的表格功能,如数据分页、排序、筛选等。当我们需要将Datagrid中的数据进行打印时,可能会遇到一些挑战,因为通常默认的浏览器打印功能...
在使用EasyUI框架开发Web应用时,Datagrid组件是一个非常重要的元素,它提供了一种方便的方式来展示和操作数据。在标题“easyui datagrid在编辑状态下更新列的值”中,我们关注的是如何在Datagrid的编辑模式下动态地...
EasyUI是一个基于jQuery的用户界面插件集合,它简化了Web应用的前端开发工作,使得开发者能够更加专注于业务逻辑的实现而非UI的构建。其中,dataGrid是EasyUI中一个非常重要的组件,用于展示表格数据,支持排序、...
jquery easyui 扩展 datagrid 自定义动态隐藏显示列
EasyUI是一个基于jQuery的UI库,提供了丰富的组件,包括datagrid,它是一个用于展示表格数据的组件。在某些场景下,用户可能希望在滚动表格时,某些重要的列(通常是标题或标识列)始终保持可见,这就是“右冻结”的...
easyui datagrid中实现上下左右、回车切换单元格easyui datagrid中实现上下左右、回车切换单元格easyui datagrid中实现上下左右、回车切换单元格
JS EasyUI DataGrid是一款基于jQuery和EasyUI框架的数据表格组件,它提供了丰富的功能,如数据分页、排序、过滤和自定义操作等。在实际应用中,动态加载数据是DataGrid的一个重要特性,允许用户在需要时加载更多的...
jQuery EasyUI datagrid是一个基于jQuery和EasyUI的UI组件库,提供了丰富的界面组件,其中的datagrid组件用于创建数据表格。 传统的分页方法通常是由后端服务器完成,即将全部数据检索出来后,由服务器端根据分页...