`

easyui-datagrid 带参数查询实例

阅读更多
<script>
	$(function(){
		$('#dataFileControl').datagrid({
			url: 'audit/sysAuditAction!list.do',
			title: '',
			width: 'auto',
			height: '400',
			//fitColumns: true,
			//showFooter:true,
			nowrap:false,
			autoRowHeight: false,
			striped: true,
			collapsible:true,
			sortName: 'sbtsrc',
			sortOrder: 'desc',
			remoteSort: false,
			idField:'sbtsrc',
			frozenColumns:[[
				{field:'ck',checkbox:true},
				{field:'sbtsrc',title:'Source',width:50,sortable:true},
				{field:'sbtabk',title:'Area Bank',width:70,sortable:true}
			]],
			columns:[[
				
				{field:'sbtstn',title:'Station',width:50,sortable:true},
				{field:'fileName',title:'File Name',width:180,sortable:true},
				{field:'sbtrpd',title:'Reporting Period',width:100,sortable:true},
				{field:'count',title:'Count',width:80,sortable:true,align:'right'},
				{field:'batchNo',title:'Batch No.',width:150,sortable:true},
				{field:'sbtras',title:'Status',width:80,sortable:true},
				{field:'loadID',title:'Load ID',width:80,sortable:true},
				{field:'loadTime',title:'Load Time',width:120,sortable:true},
				{field:'sbtcur',title:'Curr',width:80,sortable:true},
				{field:'sbtsra',title:'Ret',width:80,sortable:true}
				
			]],
			pagination:true,
			rownumbers:true,
			toolbar:[{
				id:'btnSYSAudit',
				text:'SYS Audit',
				handler:function(){
					var batchNos = [];
					var rows = $('#dataFileControl').datagrid('getChecked');
					
					if (rows.length > 0) {
						$.messager.confirm('请确认', '您要提交系统审核所选项目?', function(r) {
							if (r) {
								for(var i=0;i<rows.length;i++){
									if(rows[i].sbtras=='L'){
										
									}else{
										batchNos.push(rows[i].batchNo);
									}
								}
								//alert(batchNos.join(','));
								$.ajax({
									url : 'test/testtAction!test.do',
									data : {
										batchNos : batchNos.join(',')
									},
									dataType : 'json',
									success : function(response) {
										$.messager.show({
											title : '提示',
											msg : '提交成功!'
										});
									}
								});
							}
						});
					} else {
						$.messager.alert('提示', '请选择要提交的记录!', 'info');
					}
				}
			},'-',{
					id:'btnSchedule',
					text:'Schedule',
					handler:open1
			}
			]
		});
	});
		$("#search").click(function (){
	        var param=serializeObject($('#form1'));
	        $("#dataFileControl").datagrid('load',param);
	        
		});
	});
	//格式化表单
	serializeObject = function(form) {
		var o = {};
		$.each(form.serializeArray(), function(index) {
			if (o[this['name']]) {
				o[this['name']] = o[this['name']] + "," + this['value'];
			} else {
				o[this['name']] = this['value'];
			}
		});
		return o;
	};
	
	//时间控件
	$(function(){
	 
	$("#panel_reportingPeriod").datebox({
		formatter:formatDate
		});
	})
	//格式化时间
	function formatDate(date){
		var y = date.getFullYear();
		var m = date.getMonth()+1;
		var d = date.getDate();
		return y+""+(m<10?"0"+m:m)+""+(d<10?"0"+d:d);//格式:20121002
		}
	
	function reset(){
		$('#form1').form('clear');
	}
</script>

 

 /**
     * 分页显示所有未审核的记录
     * 
     * @return
     */
    public String list() {

        PageModel<Batch> pm = new PageModel<Batch>(getRequest());
        Map<String, Object> params = pm.getParams();

        String source = getRequest().getParameter("panel_Source");
        String areaBank = getRequest().getParameter("panel_AreaBank");
        String station = getRequest().getParameter("file_station");
        String reportingPeriod = etRequest().getParameter("panel_reportingPeriod");
        String batchNo = getRequest().getParameter("panel_batchNo");
        String status = getRequest().getParameter("panel_Status");

        if (source != null && !"".equals(source)) {
            params.put("sbtsrc", "%" + source + "%");
        }
        if (areaBank != null && !"".equals(areaBank)) {
            params.put("sbtabk", "%" + areaBank + "%");
        }
        if (station != null && !"".equals(station)) {
            params.put("sbtstn", station);
        }
        if (reportingPeriod != null && !"".equals(reportingPeriod)) {
            params.put("sbtrpd", "%" + reportingPeriod + "%");
        }
        if (batchNo != null && !"".equals(batchNo)) {
            params.put("batchNo", batchNo);
        }
        if (status != null && !"".equals(status)) {
            params.put("sbtras", status);
        }
        pm.setParams(params);
        pm = sysAuditService.getByCondition(pm);
        batchMap.put("total", pm.getTotal());
        batchMap.put("rows", pm.getList());
        return "list";
    }

 

    /*
     * 返回按条件查询出来的结果集
     * PageModel对象中包含结构集和一些参数
     */
    public PageModel<E> getByCondition(PageModel<E> pageModel) {
        String queryCondition = prepareQueryString(pageModel.getParams());
        return dao.getByCondition(queryCondition, pageModel);
    }

 

    /**
     * 根据条件进行分页查询
     * 
     * @param queryString
     *            查询sql
     * @param params
     *            查询条件
     * @return
     */
    @SuppressWarnings("unchecked")
    public PageModel<E> getByCondition(String queryString,PageModel<E> pageModel) {

        Query query = getEntityManager().createQuery(queryString);
        // 查询所有数据
        Query queryAll = getEntityManager().createQuery(queryString);
        // 设置参数
        Map<String, Object> params = pageModel.getParams();
        for (Map.Entry<String, Object> entry : params.entrySet()) {
            Object value = entry.getValue();
            String key = entry.getKey();
            if (!key.equals("sort") && !key.equals("order") && value != null
                    && !"".equals(value)) {
                query.setParameter(key, value);
                queryAll.setParameter(key, value);
            }

        }

        // 查询所有数据
        List<E> list = queryAll.getResultList();
        // 设置总数据个数
        if (list == null) {
            pageModel.setTotal(0);
        } else {
            pageModel.setTotal(list.size());
        }

        // 分页设置
        if (pageModel.getFirstResult() <= 0) {
            query.setFirstResult(0);
        } else {
            int firstresult = pageModel.getTotal() - pageModel.getRows() < 0 ? 0
                    : pageModel.getTotal() - pageModel.getRows();
            query.setFirstResult(pageModel.getFirstResult() >= pageModel
                    .getTotal() ? firstresult : pageModel.getFirstResult());
        }

        query.setMaxResults(pageModel.getRows());
        pageModel.setList(query.getResultList());

        return pageModel;
    }

 

/**
 * 
 * 分页实体,包含页面所需的参数和查询返回的数据结果

 * 
 * @version v1.0
 * @author wangxiaopeng
 * @date 2011-11-30 下午04:12:18
 */
public class PageModel<E> implements Serializable {
	private static final long serialVersionUID = -2778873382939204283L;

	/**
	 * 当前页面
	 */
	private int page = 1;

	/**
	 * 显示多少行
	 */
	private int rows = 15;

	/**
	 * 总记录条数
	 */
	private int total;

	/**
	 * 记录数据
	 */
	private List<E> list = new ArrayList<E>();

	/**
	 * 查询需要的参数
	 */
	private Map<String, Object> params = new HashMap<String, Object>();

	public PageModel() {

	}

	public PageModel(HttpServletRequest request) {
		String page = request.getParameter("page");
		String rows = request.getParameter("rows");
		String sort = request.getParameter("sort");
		String order = request.getParameter("order");
		if (page != null && rows != null ) {
			this.page = Integer.valueOf(page);
			this.rows = Integer.valueOf(rows);
		}
		if (sort != null && order != null) {
			params.put("sort", sort);
			params.put("order", order);
		}
	}

	public int getPage() {
		return page;
	}

	public void setPage(int page) {
		this.page = page;
	}

	public int getRows() {
		return rows;
	}

	public void setRows(int rows) {
		this.rows = rows;
	}

	/**
	 * 分页需要的第一条记录索引

	 * 
	 * @return
	 */
	public int getFirstResult() {
		return rows * (page - 1);
	}

	public int getTotal() {
		return total;
	}

	public void setTotal(int total) {
		this.total = total;
	}

	public List<E> getList() {
		return list;
	}

	public void setList(List<E> list) {
		this.list = list;
	}

	public Map<String, Object> getParams() {
		return params;
	}

	public void setParams(Map<String, Object> params) {
		this.params = params;
	}

}

 

分享到:
评论

相关推荐

    easyui-datagrid之间拖拽效果demo

    "easyui-datagrid 之间拖拽效果 demo" 重点展示了如何在两个 EasyUI Datagrid 之间实现数据的拖放功能,这对于提升用户体验,尤其是处理大量数据时的交互性至关重要。 首先,Datagrid 是 EasyUI 提供的一种表格控件...

    easyui-datagrid21-demo.zip

    《EasyUI Datagrid21演示实例详解》 EasyUI 是一款基于 jQuery 的 UI 框架,它提供了丰富的组件和易于使用的API,帮助开发者快速构建前端应用。在本压缩包 "easyui-datagrid21-demo.zip" 中,我们找到了一个关于 ...

    easyui-textbox和easyui-combobox的onchange事件响应实例

    对于 `easyui-combobox`,我们则使用 `data-options` 属性的 `onChange` 键来指定处理函数 `handleComboboxChange`,该函数接收新旧值作为参数,同样弹出警告框展示变化。 这个实例展示了如何有效地利用 `onchange`...

    easyui-datagrid&&easyui-tree实例

    在本文中,我们将深入探讨如何使用EasyUI框架与ASP.NET技术来实现数据网格(datagrid)与数据库的交互,以及如何构建动态的树形结构(tree)来加载数据库数据。EasyUI是一个基于jQuery的轻量级前端框架,它提供了一...

    初识通用数据库操作类——前端easyui-datagrid,form(php)

    总的来说,文件描述的这部分内容是对一个简单的数据库操作类进行介绍,并通过一个具体的实例(easyui-datagrid和form表单)演示了前端和后端如何协作完成数据库的基本操作。通过理解这些知识点,开发者能够掌握如何...

    jquery-easyui-datagrid

    在提供的文件 `jeasyui-datagrid-datagrid12` 中,可能包含了一个名为 `datagrid12` 的示例,这可能是一个具体的 datagrid 实例,演示了如何配置和使用 datagrid。通常,这样的文件会包含 HTML、CSS 和 JavaScript ...

    JS EasyUI DataGrid动态加载数据

    JS EasyUI DataGrid是一款基于jQuery和EasyUI框架的数据表格组件,它提供了丰富的功能,如数据分页、排序、过滤和自定义操作等。在实际应用中,动态加载数据是DataGrid的一个重要特性,允许用户在需要时加载更多的...

    EasyUI DataGrid过滤用法实例

    在这个"EasyUI DataGrid 过滤用法实例"中,我们将深入探讨如何利用 EasyUI 的 DataGrid 组件实现数据过滤功能,帮助用户更高效地查找和管理表格中的信息。 首先,`datagrid-filter.js` 文件很可能包含了实现过滤...

    easyui-完整实列 C# VS2010

    开发者可以通过建立数据连接,执行SQL查询或存储过程,然后将结果集填充到EasyUI的数据网格中,实现前后端数据的交互。 VS2010作为开发环境,提供了强大的集成开发工具,包括代码编辑器、调试器、项目管理工具等,...

    datagrid单元格上点击弹出窗口(官网例子)

    它可能包含一个简单的datagrid实例,用于测试弹窗编辑器的各种场景,比如不同的数据类型、编辑状态等。 实现这种功能通常涉及以下步骤: - 创建自定义编辑器类,继承自已有编辑器组件。 - 在datagrid的列配置中指定...

    jquery-easyui-1.2 版本

    Datagrid 是 jQuery EasyUI 中用于展示和操作表格数据的重要组件。在1.2版本中,它支持数据分页、排序、过滤、编辑等功能,使得数据的展示和管理更为便捷。例如,开发者可以通过简单的配置实现数据的增删改查,同时...

    jquery-easyui-EDT-1.4-build1.rar

    例如,你可以了解到“datagrid”数据网格组件如何加载数据、如何进行排序和过滤,或者“dialog”对话框组件如何设置大小、位置和关闭按钮等。 其次,接口HTML的demo文件是实践和体验jQuery EasyUI功能的重要资源。...

    jquery-easyui-1.2.3实例参考

    《jQuery EasyUI 1.2.3 实例详解与应用》 jQuery EasyUI 是一个基于 jQuery 的前端开发框架,它提供了丰富的组件和便捷的API,极大地简化了网页的交互设计和界面构建。在"jquery-easyui-1.2.3实例参考"中,我们可以...

    Jquery_easyui_switchbutton【案例】

    在本文中,我们将深入探讨jQuery EasyUI中的SwitchButton组件,这是一种用于创建切换开关效果的工具,常用于实现二选一的交互操作。EasyUI是基于jQuery的一个轻量级且强大的前端开发框架,它提供了一系列易于使用的...

    easyui datagird增删改分页例子

    标题 "easyui datagird增删改分页例子" 提示我们这个压缩包包含一个使用EasyUI DataGrid实现数据操作和分页功能的示例。EasyUI是一个基于jQuery的前端框架,DataGrid是其组件之一,常用于展示表格数据并支持用户交互...

    jquery-easyui-1.4.2 Demo

    这个Demo包含了一系列的实例,涵盖了EasyUI的所有控件,对于学习和理解EasyUI的用法非常有帮助。 **jQuery EasyUI** 的核心是jQuery,一个广泛使用的JavaScript库,它简化了DOM操作、事件处理和Ajax交互。EasyUI在...

    jquery-easyui-1.3.1.zip

    《jQuery EasyUI 1.3.1:轻松构建交互式Web界面》 jQuery EasyUI 是一个基于 jQuery 的轻量级框架,它为开发者提供了一系列的 UI 组件,使得构建功能丰富的、用户友好的 Web 应用程序变得极其简单。在这个 "jquery-...

    jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法

    本文实例讲述了jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法。分享给大家供大家参考,具体如下: 一、问题描述: $('#tb-page-list').datagrid({ url: '/BisOrderInfo/GetList', ...

    easyui-test1

    在标签"easyui-test1"中,我们可以理解为这是一个专注于EasyUI学习和实践的特定领域,可能包含了关于EasyUI使用技巧、问题解决或者特定功能的实例。 总的来说,"easyui-test1"项目是一个全面了解和掌握EasyUI的绝佳...

    easyui datagrid 自定义编辑器 colorpickerEditor

    在本文中,我们将深入探讨如何在EasyUI的DataGrid中创建自定义编辑器,特别是`colorpickerEditor`,用于在行内编辑时选择颜色。EasyUI是一个基于jQuery的UI库,它提供了丰富的组件,如DataGrid,使得网页开发更加...

Global site tag (gtag.js) - Google Analytics