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% ...
随机推荐
- JS获取option的value和text
window.onload = function(){ //首先获得下拉框的节点对象: var select = document.getElementById("s1"); // ...
- 基础总结(03)-- css有趣的特性
1.currentColor:可用于background/border-color/渐变/box-shadow/svg填充色,颜色继承自color. 待补充…
- py库:os、shutil、pathlib
https://www.cnblogs.com/MnCu8261/p/5494807.html shutil模块 http://blog.csdn.net/rozol/article/details/ ...
- Django整理1
基本结构 │ db.sqlite3 ----------sqlie3数据库 │ manage.py │ ├─logres │ │ admin.py 后台,可以用很少量的代码就拥有一个强大的后台. │ ...
- SpringMVC参数注解解释
在Controller的开发中,经常会用到很多注解,下面解释一下关于形参常用注解的一些解释,他们主要是用来接收参数的. @ModelAttribute("vo", ObjectVo ...
- 通过shell操作串口
1. 通过stty工具设置串口参数,例如 stty -F /dev/ttyUSB0 raw speed 9600 -echo min 0 time 10 上例设置了ttyUSB0设备的数据流格式为ra ...
- 如何清除保存在IE浏览器上的账号密码
1,打开浏览器,打开右上角的工具选项,选择Internet选项 2,在‘常规’选项卡中点击“删除”按钮,在弹框中勾选“密码”,选择删除即可.
- Win7+ 电脑 休眠 自动唤醒
https://jingyan.baidu.com/article/3ea51489d905df52e71bba6b.html
- idea的maven搭建
IntelliJ IDEA中创建Web聚合项目(Maven多模块项目) 在file-setting-maven中可以配置自己下载的maven,在自己下载maven目录的config下的setting. ...
- 目标检测faster rcnn error == cudaSuccess (2 vs. 0) out of memory
想尝试 更深更强的网络,或者自己写了一个费显存的层,发现1080 ti的11G显存不够用了,老师报显存不够怎么办? Check failed: error == cudaSuccess (2 vs. ...