flexigrid插件使用

①:引入相关js,css(flexigrid.js,flexigrid.css)

②:页面添加一个隐藏的table

<table id="mainListTable" style="display: none"></table>
③:插件初始化

 $('#mainListTable').flexReload();
  	 
  	$(function(){
  		var proId = $('#proId').val();
    	$('#mainListTable').flexigrid({
	        url : '${basePath}/back/queryAudit.action?',
	        method: 'POST',
	        dataType : 'json',
	        colModel : [
	        			{display: 'ID', name : 'auditName', width : 30, sortable : false, align: 'center',hide: true,toggle : true},  
	        			{display: '意见题目', name : 'auditName', width : 80, sortable : false, align: 'left',hide: false,toggle : true},  
						{display: '意见简介', name : 'auditComm', width : 450, sortable : false, align: 'left',hide: false,toggle : true},  
						{display: '意见数', name : 'audits', width : 80, sortable : false, align: 'left',hide: false,toggle : true},  
						{display: '路径', name : 'quantity', width :200,      sortable : false, align: 'center'},  
						{display: '创建时间', name : 'createTime', width :80, sortable : false, align: 'center'},
						{display: '创建人', name : 'createUser', width :80, sortable : false, align: 'center'},
						{display: '操作', name : 'operate', width : 250, sortable : false, align: 'center'}
					    ],
	        height: jQuery(window).height()-450,
	        //width: 890,
	        sortname : "id",
        	sortorder : "asc",
	        resizable: true, 
	        nowrap:false,
	        //striped: false,
	        selectedonclick: true,
	        singleSelect: true,
	        usepager: true,
	        useRp: true,
	        rowId : 'id',
	        //showToggleBtn: false,
	        rowhanlder: true,
	        rowbinddata: true,
	       	rp :10,
       		procmsg: '请等待数据正在加载中.....',
        	rpOptions: [5,10,20, 50]
	       //  rp: <c:if test="${sessionScope.rp==null}">	25</c:if><c:if test="${sessionScope.rp!=null}">${sessionScope.rp}</c:if>,
	        //rpOptions: [10, 15, 20, 25, 40, 100]
	     });
    });

④:struts2中的ajax方法

/**
	 * 查询发布的评论列表
	 * @return
	 * @throws IOException 
	 */
	public void queryAudit() throws IOException {
			HttpServletRequest req = ServletActionContext.getRequest();
			HttpServletResponse resp = ServletActionContext.getResponse();
			resp.setContentType("text/html;charset=utf-8");
			PrintWriter pw =resp.getWriter();
			try {
			String proId = req.getParameter("proId");
			//当前页
			
			String sql ="select t.ID,t.audit_name,t.audit_comm,t.audit_path,t.CREATETIME,t.CREATE_USER,t.isvalid,t1.audits from tb_audit t left join (select audit_id, count(1) as audits from tb_audit_list group by audit_id) t1 on t.id = t1.audit_id order by t.id desc";
			Object[] obj = new Object[]{};
//			UserInfo userInfo = (UserInfo) req.getSession().getAttribute(Global.SESSION_USERINFO_NAME);
//			//目前只有账号ID为admin的管理员能查看所有发布的题目。其他人只能看到自己发布的题目。
//			if(!userInfo.getUserID().equals("admin")){
//				sql = sql + " where  CREATE_USER = ? ";
//				obj = new Object[]{userInfo.getUserID()};
//			}
			PageBean<Map<String, Object>> page  = new PageBean<Map<String,Object>>();
			page.setCurrentPage(this.page);
			page.setAllRow(StringUtil.isNull(rowall)?0:rowall);
			page.setPageSize(StringUtil.isNull(rp)?1000:rp.intValue());
			tbProdCategoryService.queryStorageByProId(sql,obj,page);
			List storageList = page.getList();
			JSONArray array = new JSONArray();
			JSONObject pageJSON = new JSONObject();
			pageJSON.put("total", page.getAllRow());
			
			pageJSON.put("page", page.getCurrentPage());
			JSONObject json = null;
			if(null != storageList && storageList.size() > 0){
				for(int i=0;i<storageList.size();i++){
					Map map = (Map)storageList.get(i);
					json = new JSONObject();
					json.put("id", map.get("ID"));
					String id = map.get("ID").toString();
					String auditName = getJson(null == map.get("AUDIT_NAME")?"":map.get("AUDIT_NAME").toString(),false);
					String auditComm = getJson(null == map.get("AUDIT_COMM")?"":map.get("AUDIT_COMM").toString(),false);
					String audits = null == map.get("AUDITS")?"0":map.get("AUDITS").toString();	
					String auditPath = null == map.get("AUDIT_PATH").toString()? "":map.get("AUDIT_PATH").toString();
					String createTime = null == map.get("CREATETIME")?"":DateUtil.toString((Date)map.get("CREATETIME"), 19);
					String createUser = null == map.get("CREATE_USER")?"":map.get("CREATE_USER").toString();
					String isValid = null == map.get("ISVALID")?"":map.get("ISVALID").toString();
					String onClickStr = "<a href='javascript:void(0);' οnclick='delAudit("+id+")' >  删除  </a>";
					if(!isValid.equals("1") ){
						onClickStr = onClickStr +  "      <a href='javascript:void(0);' οnclick='pubAudit("+id+",1)' >  发布  </a>";
					}else{
						onClickStr = onClickStr +  "      <a href='javascript:void(0);' οnclick='pubAudit("+id+",0)' >  取消发布  </a>";
					}
					onClickStr = onClickStr +  "      <a href='"+req.getContextPath()+"/pages/back/survey/auditHasGrade.jsp?id="+id+"' >  查看审阅  </a>";
					
					
					String str = "[\""+id+"\",\""+auditName+"\",\""+auditComm+"\",\""+audits+"\",\""+auditPath+"\",\""+createTime+"\",\""+createUser+"\",\"" 
							 +onClickStr+
							"\"]";
					json.put("cell",str);
					array.add(json);
				}
			}
			pageJSON.put("rows", array);
			pw.write(pageJSON.toString());
		} catch (Exception e) {
			log.error("StorageManageAction.queryAudit 查询发布的评论列表出错", e);
			pw.write("success");
		}finally{
			if(null != pw){
				pw.flush();
				pw.close();
			}
		}
	}

action中需要定义的相关属性

private Integer page;//当前页 
    private Integer rowall;//共多少条
	private Integer rp;//每页显示条目 
	
    private String sortname = null;
	private String sortorder = null;


⑤:附上dao层方法

public PageBean<Map<String, Object>> queryStorageByProId(String sql, Object[] obj, PageBean<Map<String, Object>> page)throws Exception{
		return this.retrieve(sql, obj, page);
	}

BaseDao中的基本分页对象查询多条记录方法

/**
	 * 根据分页对象查询多条记录
	 * @param sql
	 * @param parObj
	 * @param pi
	 * @return
	 */
	public PageBean<Map<String, Object>> retrieve(String sql, Object[] parObj, PageBean<Map<String, Object>> page){
        long firstRow = (page.getCurrentPage()-1)* page.getPageSize();
        long lastRow =   page.getPageSize();
        
		StringBuffer sbSql = new StringBuffer(sql.length() + 128);
        if (page.getAllRow()<= 1) {
        	String sqlQueryCount = "SELECT COUNT(1) AS COUNT FROM (" + sql + ") AS TOTAL";
        	Map map = (Map)fetch(sqlQueryCount, parObj);
        	Number strInt = (Number)map.get("COUNT");
        	int iRowTotal = strInt.intValue();
        	page.setAllRow(iRowTotal);
        }
		if (firstRow <= 0) {
			if (lastRow <= 0) { //所有数据
				sbSql.append(sql);
			} else { //从1-->lastRow
				sbSql.append("SELECT *  FROM ( ");
				sbSql.append(sql);
				sbSql.append(" ) AS ROW_  LIMIT  " + lastRow);
			}
		} else {
			 //从firstRow -- > lastRow
				sbSql.append(" SELECT ROW_.* FROM ( ");
				sbSql.append(sql);
				sbSql.append(" ) ROW_  LIMIT " + firstRow + " ," + lastRow);
		}
		List list = this.retrieve(sbSql.toString(), parObj);
		page.setList(list);
		
		return page;
	}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值