EasyUI ComboGrid 笔记(支持分页)
业务要求:
下拉框做选择时需要展现多个字段供用户参考,由于内容可能会很多,故还需要考虑分页。
解决方案:
由于项目整体已经采用了EasyUI,在浏览了demo以后,初步考虑使用EasyUI的combogrid。
界面参考:

实现细节:
下拉框代码,发现combogrid是继承datagrid的,所以可以使用pagination属性,
<select id="leftItem" class="easyui-combogrid" name="leftItem" style=""
data-options="
label: '左侧物料:',
labelWidth:70,
labelPosition: 'left',
loadMsg:'正在查询请稍后......',
panelWidth:500,
panelHeight:500,
delay:600,
width: 200,
value:'',
idField:'itemNumber',
textField:'itemNumber',
rownumbers : true,
mode: 'remote',
pagination:true,
pageSize: 20,
url:'pageItemVersions.do',
onBeforeLoad : beforeLoadFn,
onSelect:gridSelectRow,
columns:[[
{field:'itemNumber',title:'物料编码',width:100},
{field:'itemName',title:'物料名称',width:140},
{field:'version',title:'版本',width:40},
{field:'itemType',title:'类别',width:120},
{field:'lifeCycle',title:'生命周期',width:80}
]]
"></select>
<input id="leftVersion" class="easyui-textbox" data-options="
label: '左侧版本:',
labelWidth:70,
labelPosition: 'left',
prompt: '',
width: 110
" /> <a id="saveBtn" href="#" iconCls="icon-search" style="margin-left: 50px;margin-right: 50px;" class="easyui-linkbutton" onclick="compare()">比较</a>
部分js代码:
function gridSelectRow(index, row){
$("#leftVersion").textbox("setValue",row.version);
}
function rightGridSelectRow(index, row){
$("#rightVersion").textbox("setValue",row.version);
}
function beforeLoadFn(param){
if(!param || !param.q){
return false;
}
param.limit = param.rows;
var start = (param.page - 1) * param.rows;
param.start = start;
}
$(function() {
if(isLowerIE9()){
alert("建议使用IE10以上或者其他非IE内核浏览器,IE10以下部分功能无法正常使用!");
}
var itemNumber = "${itemNumber}";
if(itemNumber){
$('#leftItem').combogrid("setValue", itemNumber);
var leftGrid = $('#leftItem').combogrid('grid'); // get datagrid object
var result = leftGrid.datagrid('load',{q:itemNumber}); // get the selected row
if(result){
}
}
});
后台Java代码:
@RequestMapping("pageItemVersions.do")
@ResponseBody
public PageEasyUI<ItemVO> pageItemVersions(String q, Pageable pageable) {
PageEasyUI<ItemVO> page = null;
if (StringUtils.isNotBlank(q)) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("itemNumber", q);
page = itemBomService.pageItemVersions(map, pageable);
}
return page;
}
返回值:
public class PageEasyUI<T> {
/** 汇总 */
private Long total;
/** 内容 */
private List<T> rows;
public Long getTotal() {
return total;
}
public void setTotal(Long total) {
this.total = total;
}
public List<T> getRows() {
return rows;
}
public void setRows(List<T> rows) {
this.rows = rows;
}
public PageEasyUI() {
}
public PageEasyUI(List<T> list) {
super();
this.rows = list;
if (list instanceof Page) {
Page<T> page = (Page<T>) list;
this.total = page.getTotal();
} else {
if (CollectionUtils.isEmpty(list)) {
this.total = 0L;
} else {
this.total = Long.valueOf(list.size());
}
}
}
}
EasyUI ComboGrid 笔记(支持分页)的更多相关文章
- 【原】EasyUI ComboGrid 集成分页、按键示例
需求: 1.下拉框下拉时出现表格: 2.表格带分页功能: 3.可以使用向上键.向下键在表格中移动选择行数据: 4.可以使用回车键在表格中选中行数据: 5.在下拉框的文本框中输入内容,能查询表格: 6. ...
- easyui combogrid下拉表格的分页/按键/动态搜索
作者:xfl4629712 < easyui combogrid下拉表格的分页/按键/动态搜索 > 需求: 1.下拉框下拉时出现表格: 2.表格带分页功能: 3.可以使用向上键.向下 ...
- EasyUI ComboGrid的绑定,上下键和回车事件,输入条件查询
首先我们先看一下前台的绑定事件 1.先定义标签 <input id="cmbXm" type="text" style="width: 100p ...
- SpringMVC结合easyUI中datagird实现分页
SpringMVC结合easyUI中datagird实现分页 DataGrid以表格形式展示数据,并提供了丰富的选择.排序.分组和编辑数据的功能支持.轻量级,单元格合并.多列标题.冻结列和页脚只是其中 ...
- 表单(中)-EasyUI Combogrid 组合网格、EasyUI Numberbox 数字框、EasyUI Datebox 日期框、EasyUI Datetimebox 日期时间框、EasyUI Calendar 日历
EasyUI Combogrid 组合网格 扩展自 $.fn.combo.defaults 和 $.fn.datagrid.defaults.通过 $.fn.combogrid.defaults 重写 ...
- EasyUI 开发笔记(二)
接上篇 :EasyUI 开发笔记(一) (http://www.cnblogs.com/yiayi/p/3485258.html) 这期就简单介绍下, easyui 的 list 展示, 在easy ...
- ASP.NET 为GridView添加序号列,且支持分页连续累计显示
为GridView添加序号列,且支持分页连续累计显示,废话不多说,直接上代码: <%@ Page Language="C#" AutoEventWireup="tr ...
- [cocos2dx]让CCScrollView支持分页
[cocos2dx]让CCScrollView支持分页 做过IOS开发的朋友, 肯定知道UIScrollView有一个isPaged属性. 当设置其为true的时候, 滑动会自动分页. 即, 每次滑动 ...
- jQuery EasyUI datagrid实现本地分页的方法
http://www.codeweblog.com/jquery-easyui-datagrid%e5%ae%9e%e7%8e%b0%e6%9c%ac%e5%9c%b0%e5%88%86%e9%a1% ...
随机推荐
- C#中替换特殊字符串
private string change字符(string str) { if (!string.IsNullOrEmpty(str)) { //将特殊字符全部替换为下划线 string patte ...
- 织梦dede文章列表调用标签的用法和规则
织梦dede列表标签在任何模板的网站中都可能会使用到,而且我们在仿站的时候也经常要使用到列表标签.这里主机吧就给大家讲一下文章列表以及图片列表.软件列表以及分类信息列表标签的用法,和结合div+css ...
- 在chrome console中添加jQuery
由于现有seajs等封装,jQuery等已不在全局暴露,即使网站中已使用jQuery,在console也使用不了. 在chrome中可以用以下代码加入jQuery: fetch('http://cod ...
- JS 实现右下角弹窗
<!DOCTYPE HTML> <head> <title>JS实现右下角弹窗</title> <meta http-equiv="co ...
- ubuntu下的git版本创建
一.git的特点 二.gei的安装和配置 1.安装命令如下 sudo apt-get install git 2.安装成功后输入 git 3.创建版本库 git init 4.使用 先创建一个txt文 ...
- mysql 关联
自关联 设计省信息的表结构provinces id ptitle 设计市信息的表结构cityscitys表的proid表示城市所属的省,对应着provinces表的id值 id ctitle proi ...
- Linux命令、脚本
1.传文件 FTP/SFTP:ftp 用户名@远程ip SCP:注意ip后有个 : 本地文件发到远程 scp 本地文件 用户名@远程ip:远程路径 远程文件发到本地 scp 用户名@远程ip: ...
- springboot学习随笔(一):springboot环境构建:eclipse+maven+jdk1.8
一:所需环境 1.jdk1.8(配置环境变量,可自行搜索相关文档) 2.maven(maven的配置不在赘述,可自行搜索相关文档) 3.eclipse(第三种方式,eclipse集成sts时需要,直接 ...
- 201772020113 李清华《面向对象程序设计(java)》第18周学习总结
1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设计结构: (4) 综合掌握java多线程编程模型: ...
- if、else、else if后的条件执行体
if.else.else if后的条件执行体有两种情况:一种是用大括号“{ }”括起来的代码块,这个代码块被称作条件执行体:另一种是以分号“:”作为结束符的单行语句或空语句(仅有一个分号),这个单行语 ...