引用:
首先.去下载FlexGrid
下载完成后.解压开有__MACOSX和flexigrid两个文件夹 主要使用flexigrid里面的文件 flexgrid文件夹下文件如下 .. 准备工作完成后 真正工作开始了 在MyEclipse下新建Web project.. 把flexigrid包下所有的文件拷贝到WebRoot/下 新建*.jsp页面 body体中 加入- <table id="flex1" style="display:none"></table>
- <table id="flex1" style="display:none"></table>
- <input id="hidden" type="hidden" name="hidden" value="null" />
- <script>
- $("#flex1").flexigrid
- (
- {
- url: '../ReleaseInfoServlet?hidden=manage',
- dataType: 'json',
- colModel : [
- {display: '信息编号', name : 'RINO', width : 50, sortable : true, align: 'center',hide: false},
- {display: '信息标题', name : 'RITITLE', width : 250, sortable : true, align: 'center'},
- {display: '信息类别', name : 'IC.ICNAME', width : 100, sortable : true, align: 'center'},
- {display: '信息热点', name : 'RIHOTPOINT', width : 60, sortable : true, align: 'center'},
- <!--{display: '信息内容', name : 'RICONTENT', width : 100, sortable : true, align: 'center'},-->
- {display: '发布日期', name : 'RIDATE', width : 120, sortable : true, align: 'center'},
- {display: '发布作者', name : 'RIAUTHOR', width : 80, sortable : true, align: 'center'}
- ],
- buttons : [
- {name: '添加', bclass: 'add', onpress : button},
- {name: '删除', bclass: 'delete', onpress : button},
- {name: '修改', bclass: 'modify', onpress : button},
- {separator: true}
- ],
- searchitems : [
- {display: '信息编号', name : 'RINO', isdefault: true},
- {display: '信息标题', name : 'RITITLE'},
- {display: '信息类别', name : 'IC.ICNAME'},
- {display: '发布作者', name : 'RIAUTHOR'}
- ],
- sortname: "RINO",
- sortorder: "desc",
- usepager: true,
- title: '信息发布管理',
- useRp: true,
- rp: 20,
- showTableToggleBtn: true,
- width: 780,
- height: 300
- }
- );
- function button(com,grid)
- {
- if (com=='删除')
- {
- ${ "hidden"}.value="delete";
- if($('.trSelected',grid).length==0){
- alert("请选择要删除的数据");
- }else{
- if(confirm('是否删除这 ' + $('.trSelected',grid).length + ' 条记录吗?'))
- {
- var id ="";
- for(var i=0;i<$('.trSelected',grid).length;i++){
- if(i==$('.trSelected',grid).length-1){
- id += "id="+$('.trSelected',grid).find("td:first").eq(i).text();
- } else {
- id += "id="+$('.trSelected',grid).find("td:first").eq(i).text()+"&";
- }
- }
- window.location.href="../ReleaseInfoServlet?hidden="+${ "hidden"}.value+"&"+id;
- }
- }
- }
- else if (com=='添加')
- {
- ${ "hidden"}.value="add";
- window.location.href="infoAdd.jsp?hidden="+${ "hidden"}.value;
- }
- else if (com=='修改')
- {
- ${ "hidden"}.value="modify";
- if($(".trSelected").length==1){
- window.location.href="infoAdd.jsp?hidden="+${ "hidden"}.value+"&id="+$('.trSelected',grid).find("td").eq(0).text();
- }else if($(".trSelected").length>1){
- alert("请选择一个修改,不能同时修改多个");
- }else if($(".trSelected").length==0){
- alert("请选择一个您要修改的新闻信息")
- }
- }
- }
- height: 200, //flexigrid插件的高度,单位为px
- width: ‘auto’, //宽度值,auto表示根据每列的宽度自动计算
- striped: true, //是否显示斑纹效果,默认是奇偶交互的形式
- novstripe: false,
- minwidth: 30, //列的最小宽度
- minheight: 80, //列的最小高度
- resizable: true, //是否可伸缩
- url: false, //ajax方式对应的url地址
- method: ‘POST’, // 数据发送方式
- dataType: ‘xml’, // 数据加载的类型
- errormsg: ‘Connection Error’,//错误提升信息
- usepager: false, //是否分页
- nowrap: true, //是否不换行
- page: 1, //默认当前页
- total: 1, //总页面数
- useRp: true, //是否可以动态设置每页显示的结果数
- rp: 15, // 每页默认的结果数
- rpOptions: [10,15,20,25,40],//可选择设定的每页结果数
- title: false,//是否包含标题
- pagestat: ‘Displaying {from} to {to} of {total} items’,//显示当前页和总页面的样式
- procmsg: ‘Processing, please wait …’,//正在处理的提示信息
- query: ”,//搜索查询的条件
- qtype: ”,//搜索查询的类别
- nomsg: ‘No items’,//无结果的提示信息
- minColToggle: 1, //minimum allowed column to be hidden
- showToggleBtn: true, //show or hide column toggle popup
- hideOnSubmit: true,//隐藏提交
- autoload: true,//自动加载
- blockOpacity: 0.5,//透明度设置
- onToggleCol: false,//当在行之间转换时
- onChangeSort: false,//当改变排序时
- onSuccess: false,//成功后执行
- onSubmit: false // 调用自定义的计算函数
- <link rel="stylesheet" href="css/flexigrid/flexigrid.css"
- type="text/css"></link>
- <script type="text/javascript" src="lib/jquery/jquery.js"></script>
- <script type="text/javascript" src="js/flexigrid.js"></script>
- response.setContentType("text/html;charset=UTF-8");
- ReleaseInfoDao rid = new ReleaseInfoDao();
- String hidden = request.getParameter("hidden");
- PrintWriter out = response.getWriter();
- if(hidden.equals("manage")){
- // 获得当前页数
- String pageIndex = request.getParameter("page");
- // 获得每页数据最大量
- String pageSize = request.getParameter("rp");
- // 获得模糊查询文本输入框的值
- String query = new String(request.getParameter("query").getBytes("ISO8859-1"),"UTF-8");
- // 获得模糊查询条件
- String qtype = request.getParameter("qtype");
- if(query==""||("").equals(query)){
- Map pageInfo = new HashMap();
- pageInfo.put("page", pageIndex);
- pageInfo.put("total", rid.getReleaseInfoCount());
- // 数据JSON格式化
- String jsonStr = rid.creReleaseInfoJSON(rid.getReleaseInfo(Integer.parseInt(pageIndex), Integer.parseInt(pageSize)), pageInfo);
- // response相关处理
- response.setContentType("html/txt");
- response.setCharacterEncoding("utf-8");
- response.setHeader("Pragma", "no-cache");
- response.setHeader("Cache-Control", "no-cache, must-revalidate");
- response.setHeader("Pragma", "no-cache");
- try {
- response.getWriter().write(jsonStr);
- response.getWriter().flush();
- response.getWriter().close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }else{
- Map pageInfo = new HashMap();
- pageInfo.put("page", pageIndex);
- pageInfo.put("total", rid.getReleaseInfoCountLike(qtype, query));
- // 数据JSON格式化
- String jsonStr = rid.creReleaseInfoJSON(rid.getReleaseInfoLike(Integer.parseInt(pageIndex), Integer.parseInt(pageSize), qtype, query), pageInfo);
- // response相关处理
- response.setContentType("html/txt");
- response.setCharacterEncoding("utf-8");
- response.setHeader("Pragma", "no-cache");
- response.setHeader("Cache-Control", "no-cache, must-revalidate");
- response.setHeader("Pragma", "no-cache");
- try {
- response.getWriter().write(jsonStr);
- response.getWriter().flush();
- response.getWriter().close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- rp: 20,
- pageInfo.put("total", rid.getReleaseInfoCount());
- String jsonStr = rid.creReleaseInfoJSON(rid.getReleaseInfo(Integer.parseInt(pageIndex), Integer.parseInt(pageSize)), pageInfo);
- /**
- * 获得信息表所有的数据量,
- * 并返回数据个数
- * @return
- */
- public long getReleaseInfoCount(){
- long count =0l;
- QueryRunner queryRunner = new QueryRunner();
- String query = "select count(*) as num from TB_ReleaseInfo";
- try {
- Map map = (Map)queryRunner.query(DBConnection.getConnection(), query, new MapHandler());
- count = Long.parseLong(map.get("num").toString());
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- DBConnection.close();
- }
- return count;
- }
- String jsonStr = rid.creReleaseInfoJSON(rid.getReleaseInfo(Integer.parseInt(pageIndex), Integer.parseInt(pageSize)), pageInfo);
- /**
- * 分页查询
- * @param pageIndex
- * @param pageSize
- * @return
- */
- public List getReleaseInfo(int pageIndex,int pageSize){
- List releaseInfoList = new ArrayList();
- int beginIndex = (pageIndex-1)*pageSize;
- int endIndex = pageIndex*pageSize;
- QueryRunner queryRunner = new QueryRunner();
- String query = "select * from (" +
- "select rownum rn,rino,rititle,ritype,icname,rihotpoint,ricontent,ridate,riauthor " +
- "from (" +
- "select ri.rino,ri.rititle,ri.ritype,ic.icname,ri.rihotpoint,ri.ricontent,ri.ridate,ri.riauthor" +
- " from TB_ReleaseInfo ri ,TB_InfoCategroy ic where ri.ritype = ic.icno " +
- "order by ri.rino desc) where rownum<=?) where rn>?";
- try {
- releaseInfoList = (List)queryRunner.query(DBConnection.getConnection(), query,new Object[]{ new Integer(endIndex),new Integer(beginIndex)},new MapListHandler());
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- DBConnection.close();
- }
- return releaseInfoList;
- }
- /**
- * 数据JSON格式化
- * @param list
- * @param pageInfo
- * @return
- */
- public String creReleaseInfoJSON(List list,Map pageInfo){
- String jsonStr = "";
- List mapList = new ArrayList();
- for(int i=0;i<list.size();i++){
- Map cellMap = new HashMap();
- cellMap.put("id", ((Map)list.get(i)).get("RINo").toString());
- cellMap.put("cell", new Object[]{
- ((Map)list.get(i)).get("RINo"),
- ((Map)list.get(i)).get("RITitle"),
- ((Map)list.get(i)).get("ICName"),
- ((Map)list.get(i)).get("RIHotpoint"),
- ((Map)list.get(i)).get("RIDATE"),
- ((Map)list.get(i)).get("RIAuthor")
- });
- mapList.add(cellMap);
- }
- pageInfo.put("rows", mapList);
- JSONObject object = new JSONObject(pageInfo);
- jsonStr = object.toString();
- return jsonStr;
- }
- jsonStr{ "total":3,"page":"1","rows":[{ "id":"8","cell":[8,"啊啊","什么玩意","否","2009-06-24 14:30:11","admin"]},{ "id":"7","cell":[7,"来挑心底1","媒体声音","是","2009-06-24 14:29:55","admin"]},{ "id":"3","cell":[3,"新茶品","最热新闻","否","2009-06-24 13:55:00","admin"]}]}