简单分业(带参-适合中小型)_.net
来源:互联网 发布:电信运营商数据 编辑:程序博客网 时间:2024/04/30 14:57
{
/// <summary>
/// 强力分页代码
/// </summary>
/// <param name="pageSize">每页显示条数</param>
/// <param name="pageIndex">第几页</param>
/// <param name="tableName">表名</param>
/// <param name="fieldsList">查询字段</param>
/// <param name="fieldSearchKey">查询条件</param>
/// <param name="orderString">排序字段</param>
/// <param name="recordCount">总条数</param>
/// <param name="pageCount">总页数</param>
/// <returns></returns>
public static DataSet GetList(int pageSize, int pageIndexs, out int pageIndex, string tableName, string fieldsList, string fieldSearchKey, string orderString, out int recordCount, out int pageCount)
{
DataSet ds=null;
//string sql = "select top " + pageSize + " * from " + tableName + " where id<= (select min(" + orderString + ") from (select top " + ((pageSize * (pageIndex - 1)) + 1) + " id from " + tableName + " where " + fieldSearchKey + " order by " + orderString + " desc)as aa) and " + fieldSearchKey + " order by " + orderString + " desc";
string SQL_SELECT_LIST = "select top {0} * from {1} where id<= (select min({2}) from (select top {3} {4} from {5} where {6} order by {7} desc)as aa) and {8} order by {9} desc";
object[] args = { pageSize, tableName, orderString, ((pageSize * (pageIndexs - 1)) + 1), "id", tableName, fieldSearchKey, orderString, fieldSearchKey, orderString };
StringBuilder sqls = new StringBuilder("");
sqls.AppendFormat(SQL_SELECT_LIST, args);
ds = DALSQLHelper.Query(Convert.ToString(sqls));
recordCount = Convert.ToInt32(DALSQLHelper.GetSingle("select count(*) from " + tableName + " where " + fieldSearchKey));
pageCount = (recordCount % pageSize) > 0 ? ((recordCount / pageSize) + 1) : (recordCount / pageSize);
pageIndex = (pageCount < pageIndexs) ? pageCount : pageIndexs;
return ds;
}
}
页面后台绑定代码
/// <summary>
/// 每页显示记录条数
/// </summary>
public int pageSize = 10;
/// <summary>
/// 显示第几页
/// </summary>
public int pageIndex = 1;
/// <summary>
/// 总记录条数
/// </summary>
public int recordCount = 0;
/// <summary>
/// 总页数
/// </summary>
public int pageCount = 0;
/// <summary>
/// 查询条件
/// </summary>
public string mohuzhi = "";
/// <summary>
/// 返回页面名字
/// </summary>
public string YemianName = "perList";
private void Bind()
{
string sql = GetSqlWhere();
int pageIndexs = pageIndex;
DataSet ds = LEOpagination.GetList(pageSize, pageIndexs, out pageIndex, "BT_personnel", "*", sql, "id", out recordCount, out pageCount);
//LEOpagination 为上面的分页程序的 类名
this.Lists.DataSource = ds;
this.Lists.DataBind();
}
private string GetSqlWhere()
{
string mohu = "";
if (this.fieldSearchKey.Text != null && this.fieldSearchKey.Text != "")
{
mohu = this.fieldSearchKey.Text;
mohuzhi = mohu;
}
else
{
mohu = Request["mohuchaxun"];
if (mohu != null && mohu != "")
{
this.fieldSearchKey.Text = mohu;
mohuzhi = mohu;
}
}
string Page = Request["Page"];
if (Page!=null&&Page!="")
{
pageIndex = Convert.ToInt32(Page);
}
string PageSize = Request["PageSize"];
if (PageSize!=null&&PageSize!="")
{
pageSize = Convert.ToInt32(PageSize);
}
#region // 定义查询参数
string title = string.Empty;//
#endregion
StringBuilder sql = new StringBuilder();
sql.Append(" 1=1 ");
pageIndex = Utils.GetInt(Utils.GetQueryStringValue("page"), pageIndex);//显示第几页
pageSize = Utils.GetInt(Utils.GetQueryStringValue("pagesize"), pageSize);//每页显示记录条数
title = this.fieldSearchKey.Text;
if (title != string.Empty) { sql.Append(" and (name like '%" + title + "%') "); }
return sql.ToString();
}
public int Getye(int pageIndex, int pageCount,int typeid)
{
int ye = 1;
if (typeid == 1)
{
if (pageIndex > 1)
{
ye = pageCount - 1;
}
}
else
{
if (pageIndex < pageCount)
{
ye = pageIndex + 1;
}
else
{
ye = pageCount;
}
}
return ye;
}
web页面的代码
<asp:TextBox ID="fieldSearchKey" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="搜索" onclick="Button1_Click" />
<asp:Repeater runat="server" ID="Lists">
<HeaderTemplate>
<table>
<tr>
<td>
id
</td>
<td>
名称
</td>
<td>
时间
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<%# Eval("id") %>
</td>
<td>
<%# Eval("name") %>
</td>
<td>
<%# Eval("add_time") %>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
<tr>
<td colspan="3">
<div class='diggPage'>
<script type="text/javascript">
function GoToPageNum() {
var obj = document.getElementById('txtIndex');
var num = 0;
if (obj != null) num = obj.value;
var r = /^[0-9]*[1-9][0-9]*$/;
if (!r.test(num) || obj.value <= 0) return;
var pageNumber = <%# pageCount %>;
if (num <= 0 || num > pageNumber || num == 1) return;
window.location.href = "<%# YemianName %>.aspx?Page=" + num+"&mohuchaxun=<%# mohuzhi %>";
}
function CheckKeyDown() {
if (event.keyCode == 13) {
GoToPageNum();
event.returnValue = false; return false;
}
}
</script>
每页显示 <a href='<%# YemianName %>.aspx?Page=<%# pageIndex %>&PageSize=10&mohuchaxun=<%# mohuzhi %>'
class="cp">10 </a><a href='<%# YemianName %>.aspx?Page=<%# pageIndex %>&PageSize=20&mohuchaxun=<%# mohuzhi %>'>
20 </a><a href='<%# YemianName %>.aspx?Page=<%# pageIndex %>&PageSize=50&mohuchaxun=<%# mohuzhi %>'>
50 </a><span>第<%# pageIndex %>页/共<%# pageCount%>页,共<%# recordCount%>条记录,</span>
<a href='<%# YemianName %>.aspx?Page=1&mohuchaxun=<%# mohuzhi %>'>首页 </a><a href='<%# YemianName %>.aspx?Page=<%# Getye(pageIndex,pageCount,1) %>&mohuchaxun=<%# mohuzhi %>'>
上一页 </a><a href='<%# YemianName %>.aspx?Page=<%# Getye(pageIndex,pageCount,2) %>&mohuchaxun=<%# mohuzhi %>'>
下一页 </a><a href='<%# YemianName %>.aspx?Page=<%# pageCount %>&mohuchaxun=<%# mohuzhi %>'>
末页 </a><span>跳转至
<input type="text" id="txtIndex" size="3" onkeydown='CheckKeyDown();' onchange='GoToPageNum();'
style='height: 20px; width: 35px;' value="1" />页</span>
<input type="button" id="btn_jump" value="转到" onclick='GoToPageNum();'>
</div>
<uc:page runat="server" ID="page" />
</td>
</tr>
</table>
</FooterTemplate>
</asp:Repeater>
- 简单分业(带参-适合中小型)_.net
- C++ 简单的文件操作_适合初学者
- Android 访问C#.Net Webservice (简单例子适合初学者)
- 中小型手机棋牌网络游戏服务端架构设计(带源码)
- php 简单的注册和登录,带数据库。适合新手学习。
- [VB.NET源码]32_简单计算器
- 30行代码_带你分分钟创建神经网络!(附工具&教程)
- [ASP.NET教程] AliasDB:简单统一灵活的数据库访问库(支持MSSQL/MySQL/SQLite/Oracle/ODBC/OleDb)适用于中小型系统
- 利用openstack建设适合中小型互联网企业的私有云(零)
- 利用openstack建设适合中小型互联网企业的私有云(一)
- 利用openstack建设适合中小型互联网企业的私有云(二)
- 利用openstack建设适合中小型互联网企业的私有云(三)
- 利用openstack建设适合中小型互联网企业的私有云(四)
- 利用openstack建设适合中小型互联网企业的私有云(五)
- 利用openstack建设适合中小型互联网企业的私有云(六)
- 利用openstack建设适合中小型互联网企业的私有云(七)
- NET中小型企业级项目开发架构系列(一)
- .net 中小型研发团队架构实践三要点
- 内存颗粒和模组编号知识60问
- g723源码详细分析-14-感知加权滤波器补充
- linux系统故障修复
- ADO.Net实用技巧两则
- HDU1281-棋盘游戏-二分匹配与增广链
- 简单分业(带参-适合中小型)_.net
- android window.requestWindowFeature()常用方法
- HDU1285基于有向图邻接表的优先队列的拓扑排序
- appface网站
- 生成1-100不重复的随机数
- SQL恢复技巧
- Linux stat函数讲解
- HDU1394用树状数组求逆序数
- XML文件读写操作