`
cui09
  • 浏览: 115433 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
最近访客 更多访客>>
社区版块
存档分类
最新评论

简单的查询分页+CheckBox的全选提交,解决方法

阅读更多

简单的查询分页+CheckBox的全选提交,解决方法.
最近项目需要,因为时间问题我用最简单的方法做了一个查询分页+CheckBox的全选提交,我觉得非常适合小项目和类似邮件列表的功能.下面贴出我的代码,希望朋友们多给我提毛病.
主要代码都写在JSP里.下面是一个apply_note.jsp:
<%@page contentType="text/html;charset=GBK" language="java"%>
<%@ page import="java.sql.*"%>
<%@ page import="com.deepdo.common.connect.ConSql"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<style type=text/css>
td,th,p,span,div,a,A {font-size:12px;text-decoration:none}
.blak a {color:#000; text-decoration:none}
.blak a:hover {color:#f00; text-decoration:underline}
</style>
<body>
<jsp:include page="/include/deepdo.jsp" flush="true"/>
<table width="700" border="0" align="center" cellpadding="0" cellspacing="0"  height="450">
  <tr>
 <td valign="top" class="bg_td1" height="450" width="160">
 <jsp:include page="/include/navigation.jsp" flush="true"/>
 </td>
 <td valign="top" class="bg_td1" height="450" width="540">
 <table width="590" border="0" align="center" cellpadding="2" cellspacing="2" bgcolor="#FAF9F5">
          <tr>
            <td background="resume/images/color.jpg" class="font4"> <img src="resume/images/dot.gif">
              工作申请记录</td>
          </tr>
        </table>
        <table width="590" border="0" align="center" cellpadding="4" cellspacing="2">
        <%
  //变量声明
  Connection sqlCon; //数据库连接对象
  Statement sqlStmt; //SQL语句对象
  ResultSet sqlRst; //结果集对象
  String strCon; //数据库连接字符串
  String strSQL; //SQL语句
  int intPageSize; //一页显示的记录数
  int intRowCount; //记录总数
  int intPageCount; //总页数
  int intPage; //待显示页码
  String strPage;
  int i;
  //设置一页显示的记录数
  intPageSize = 10;
  //取得待显示页码
  strPage = request.getParameter("page");
  if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据
  intPage = 1;
  }
  else{//将字符串转换成整型
  intPage = java.lang.Integer.parseInt(strPage);
  if(intPage<1) intPage = 1;
  }
  //获取一个TOMCAT配置的连接池
  sqlCon = ConSql.getCon();
  //创建一个可以滚动的只读的SQL语句对象
  sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
  //准备SQL语句
  strSQL = "select * from apply_note where userid="+request.getAttribute("userid");
  //执行SQL语句并获取结果集
  sqlRst = sqlStmt.executeQuery(strSQL);
  //获取记录总数
  sqlRst.last();
  intRowCount = sqlRst.getRow();
  //记算总页数
  intPageCount = (intRowCount+intPageSize-1) / intPageSize;
  //调整待显示的页码
  if(intPage>intPageCount) intPage = intPageCount;
  %>
  <tr>
  <td align="center" bgcolor="#efefef" width="150" height="27">已经申请过的职位</td>
  <td align="center" bgcolor="#efefef" width="140" height="27">公司名称</td>
  <td align="center" bgcolor="#efefef" width="75" height="27">申请时间</td>
  <td align="center" bgcolor="#efefef" width="25" height="27"><input type=CheckBox name="selectAll" onClick="selectAll();"></td>
  </tr>
  <%
  if(intPageCount>0){
  //将记录指针定位到待显示页的第一条记录上
  sqlRst.absolute((intPage-1) * intPageSize + 1);
  //显示数据
  i = 0;
  while(i<intPageSize && !sqlRst.isAfterLast()){
  %>
  <form name ="noteForm" action="noteRemove.do" method="post">
  <tr>
  <td><a href=<%=sqlRst.getString("url")%> target="_blank"><%=sqlRst.getString("job")%></a></td>
  <td><%=sqlRst.getString("unit")%></td>
  <td><%=sqlRst.getString("date_time")%></td>
  <td width="26" align="center"><input type=CheckBox name="id" value=<%=sqlRst.getString("id")%>></td>
  </tr>
  <%
  sqlRst.next();
  i++;
  }
  }
  %>
  <tr>
  <td>
  <a href="note.do?page=1">首页</a>&nbsp;&nbsp;
  <%if(intPage>1){%><a href="note.do?page=<%=intPage-1%>">上一页</a><%}
  else {%><a href="#" title="已经是第一页">上一页</a><%}%>&nbsp;&nbsp;
  <%if(intPage<intPageCount){%><a href="note.do?page=<%=intPage+1%>">下一页</a><%}
  else {%><a href="#" title="已经是最后一页">下一页</a><%}%>&nbsp;&nbsp;
  <a href=note.do?page=<%=intPageCount%>>末页</a>
  </td>
  <td>
  共 <%=intPageCount%> 页申请记录&nbsp;&nbsp;
  当前为第 <%=intPage%> 页&nbsp;&nbsp;
  </td>
  <td>&nbsp;</td>
  <td align="center"><input type="submit" value="删除" onClick="manageSubmit();"></td>
  <input type="hidden" name="checkvalue" value="">
  </tr>
  </form>
  <%
  //关闭结果集
  sqlRst.close();
  //关闭SQL语句对象
  sqlStmt.close();
  //关闭数据库
  sqlCon.close();
  %> 
        </table>
    </td>
  </tr>
</table>
<jsp:include page="/include/tail.html" flush="true"/>
</body>
<script language="javascript">
function manageSubmit(){
 var ChkEls=document.getElementsByName("Id");
 var checkedIds="";
 for(var i=0;i<ChkEls.length;i++){
  if(ChkEls.item(i).type != "checkbox")continue;
  var oEl = ChkEls.item(i);
  if(oEl.checked) {
   checkedIds = checkedIds + (oEl.value + ",");
  }
 }
 document.noteForm.checkvalue.value = checkedIds;
 if ( checkedIds == "" ) return false;
 return true;
}

function selectAll(){
 var ChkEl = document.getElementsByName("selectAll").item(0);
 var ChkEls=document.getElementsByName("Id");
 for(var i=0;i<ChkEls.length;i++){
  if(ChkEls.item(i).type != "checkbox")continue;
  var oEl = ChkEls.item(i);
  oEl.status=ChkEl.status;
 }
}
</script>
</html>
下面是一个Action,基本没处理业务逻辑,就是从Cookie里获得了用户的id.

这样处理分页感觉超级简单,这个Action就是起到了一个中转的作用,没有实际业务功能,如果没有他,那个JSP只需要修改一下上下页的连接地址为本身.就可以自己实现查询分页功能.JSP页最后的两个JS方法是负责处理CheckBox全选和,和提交CheckBox的值为的问题的方法.希望朋友们帮忙指点一下我代码中的不足,互相学习互相进步.

分享到:
评论

相关推荐

    GridView使用div分页,checkbox全选

    - 对于checkbox全选功能,要注意处理可能出现的边界情况,如当数据为空或只有一条数据时,全选checkbox的状态应该如何设置。 通过以上步骤和策略,我们可以实现一个既高效又友好的GridView分页和全选功能。这不仅...

    easyui checkbox +全选

    标题 "easyui checkbox +全选" 指的是在网页界面设计中使用 EasyUI 框架实现复选框(checkbox)以及全选功能。EasyUI 是一个基于 jQuery 的前端框架,它提供了一系列预定义的 CSS 样式和 JavaScript 组件,帮助...

    json获取datatable后生成table分页显示checkbox全选

    "json获取datatable后生成table分页显示checkbox全选"这个主题涵盖了几个重要的JavaScript和前端开发技术,这些技术有助于提升用户体验并优化服务器资源。以下是这些知识点的详细说明: 1. **JSON (JavaScript ...

    C# Winform DatagridView 分页及 全选/ 取消全选 功能

    `DataGridView`提供了一个内置的`SelectAll()`方法用于全选,以及`ClearSelection()`方法用于取消全选。然而,为了实现这个功能,我们需要监听`DataGridView`的`CellClick`事件,因为默认情况下,用户点击行头会触发...

    DataGridView标头CheckBox全选反选

    在.NET框架中,`DataGridView`控件是一种常用的用于显示和编辑数据的组件,它提供了丰富的功能,如排序、分页和自定义显示等。而在这个特定的场景中,我们需要实现一个增强的功能:在`DataGridView`的列头添加一个`...

    checkbox的全选与取消

    在网页设计中,复选框(Checkbox)是用户界面中不可或缺的一部分,它允许用户对多个选项进行选择。本文将深入探讨“复选框的全选与取消”这一主题,主要基于提供的HTML文件“checkbox.html”。全选和取消功能通常...

    C# grid checkbox 全选

    在描述中提到的“C# grid checkbox 全选”是指在C#中使用数据网格(通常为DataGridView或DevExpress的GridView)控件时,实现表头复选框全选功能的技术。这个功能常见于数据管理界面,允许用户一键选择或取消选择...

    EXTJS动态树支持checkbox 全选

    标题中的“EXTJS动态树支持checkbox全选”指的是EXTJS中树组件的一个特性,即在树形结构中添加复选框(checkbox)功能,并支持全选和全取消选中操作。这样的功能对于需要用户进行多项选择的场景非常有用,比如文件...

    GridView 第一列CheckBox全选!postBack和JS方式

    通过以上方法,我们可以在GridView的第一列实现CheckBox全选功能,无论是通过服务器端的postBack事件还是客户端的JavaScript。理解并掌握这两种方式,能够帮助开发者根据项目的实际需求和性能考虑来选择合适的方法。

    jq分页与选中功能.zip

    BootStrap是一个流行的前端框架,它的分页组件提供了美观且响应式的分页解决方案。在"bootStrap分页效果"文件中,可能包含以下关键知识点: 1. **BootStrap分页类**:BootStrap使用特定的CSS类来构建分页链接,如`....

    Asp.net CheckBoxList操作集合

    在ASP.NET Web Forms开发中,CheckBoxList控件是...以上就是关于ASP.NET中CheckBoxList控件的选中项操作、全选、取消选中以及反选的方法。在实际项目中,可以根据需求进行自定义扩展,如添加分页、搜索筛选等增强功能。

    asp.net gridview中用checkbox全选的几种实现的区别

    本文将详细介绍在*** GridView中使用CheckBox实现全选功能的几种不同方法,并分析它们之间的区别及效率问题。 首先,我们来了解几种常见的实现方式: 1. 自动列生成器方法: 这是最简单的实现方式。在GridView的...

    实现table表格checkbox复选框的全选 反选

    这个简单的实现已经可以满足基本需求,但在实际项目中,可能还需要考虑更多的细节,比如表格动态加载数据、分页等复杂情况。此时,你可能需要监听数据加载事件,或者在分页时重新绑定全选/反选事件。 此外,对于无...

    vb.net 静态数据的展示,全选,打印等

    在这个场景中,我们关注的是如何使用CheckBox控件进行交互,实现全选、反选功能,以及统计选中项的数量和值,同时涵盖数据的打印功能。 1. **静态数据展示**:首先,你需要在Windows Forms应用中创建一个数据展示的...

    C#_winform_GridView_CheckBox_多选_全选

    "C#_winform_GridView_CheckBox_多选_全选"这个主题就专门探讨了如何在WinForm的GridView中实现复选框的多选和全选功能。 首先,我们需要理解GridView的基本用法。GridView是.NET Framework中的System.Windows....

    flex datagrid 嵌套checkbox实现全选

    本示例关注的是在DataGrid中嵌套复选框(Checkbox),并实现全选功能。这在需要用户批量选择或操作数据的场景中非常常见。以下是对这个主题的详细讲解: 1. **Flex DataGrid组件**: Flex DataGrid是Adobe Flex...

    jQuery实现table表格checkbox全选的方法分析

    4. **扩展性**:如果你的表格有分页,那么全选操作可能需要跨页操作,这需要额外的逻辑来处理。 通过上述步骤,你已经掌握了如何使用jQuery实现table表格中checkbox的全选功能。这只是一个基础的实现,你还可以根据...

Global site tag (gtag.js) - Google Analytics