一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - asp.net 源碼保存 用程序分頁

asp.net 源碼保存 用程序分頁

2019-09-05 11:39asp.net之家 ASP.NET教程

asp.net 源碼保存 用程序分頁實現代碼。

源碼: 

復制代碼代碼如下:


namespace Alex 

public class PageTools 

/// <summary> 
/// 表名稱 
/// </summary> 
private string tableName; 
public string TableName 

get { return tableName; } 
set { tableName = value; } 

/// <summary> 
/// 返回的列名 
/// </summary> 
private string returnColumns; 
public string ReturnColumns 

get { return returnColumns; } 
set { returnColumns = value; } 

/// <summary> 
/// 條件 
/// </summary> 
private string where; 
public string Where 

get { return where; } 
set { where = value; } 

/// <summary> 
/// 排序列 
/// </summary> 
private string orderColumnName; 
public string OrderColumnName 

get { return orderColumnName; } 
set { orderColumnName = value; } 

/// <summary> 
/// 排序,true為降序 
/// </summary> 
private Boolean orderDesc; 
public Boolean OrderDesc 

get { return orderDesc; } 
set { orderDesc = value; } 

/// <summary> 
/// 主鍵 
/// </summary> 
private string keyColumnName; 
public string KeyColumnName 

get { return keyColumnName; } 
set { keyColumnName = value; } 

/// <summary> 
/// 頁面大小 
/// </summary> 
private Int32 pageSize; 
public Int32 PageSize 

get { return pageSize; } 
set { pageSize = value; } 

/// <summary> 
/// 第幾頁 
/// </summary> 
private Int32 pageIndex; 
public Int32 PageIndex 

get { return pageIndex; } 
set { pageIndex = value; } 

/// <summary> 
/// SQL參數 
/// </summary> 
private SqlParameter[] whereParams; 
public SqlParameter[] WhereParams 

get { return whereParams; } 
set { whereParams = value; } 

/// <param name="TableName"></param> 
/// <param name="ReturnColumns"></param> 
/// <param name="Where">條件</param> 
/// <param name="OrderColumnName">排序列</param> 
/// <param name="OrderDesc">排序,true為降序</param> 
/// <param name="KeyColumnName">主鍵</param> 
/// <param name="PageSize">頁面大小</param> 
/// <param name="PageIndex">第幾頁</param> 
/// <param name="WhereParams">SQL參數</param> 
public PageTools(string tableName, string returnColumns, string where, string orderColumnName, Boolean orderDesc, 
string keyColumnName, Int32 pageSize, Int32 pageIndex, params SqlParameter[] whereParams) 

this.TableName = tableName; 
this.ReturnColumns = returnColumns; 
this.Where = where; 
this.OrderColumnName = orderColumnName; 
this.OrderDesc = orderDesc; 
this.KeyColumnName = keyColumnName; 
this.PageSize = pageSize; 
this.PageIndex = pageIndex; 
this.WhereParams = WhereParams; 

public PageTools() { } 
public DataTable RetrievePagerData() 

if (pageIndex == 1) 

return RetrieveTopData(); 

else 

string sql = string.Format("select top {0} {1} from {2} where {3} and {6} not in ( select top {7} {6} from {2} where {3} order by {4} {5} ) order by {4} {5}", pageSize, returnColumns, tableName, where, orderColumnName, orderDesc == true ? "desc" : string.Empty, keyColumnName, pageSize * (pageIndex - 1)); 
return DbHelperSQL.Query(sql, CheckNull(whereParams)).Tables[0]; 


/// <summary> 
/// 獲取數據的條數 
/// </summary> 
/// <param name="TableName"></param> 
/// <param name="Where"></param> 
/// <param name="WhereParams"></param> 
/// <returns></returns> 
public Int32 RetrieveDataCount() 

string sql = string.Format("select count(*) from {0} where {1}" , tableName, where); 
Int32 result = (Int32)DbHelperSQL.GetSingle(sql, CheckNull(whereParams)); 
return result; 

/// <summary> 
/// 獲取第一頁 
/// </summary> 
/// <param name="top"></param> 
/// <param name="TableName"></param> 
/// <param name="ReturnColumns"></param> 
/// <param name="Where"></param> 
/// <param name="OrderColumnName"></param> 
/// <param name="OrderDesc"></param> 
/// <param name="WhereParams"></param> 
/// <returns></returns> 
public DataTable RetrieveTopData() 

string sql = string.Format("select top {0} {1} from {2} where {3} order by {4} {5}", pageSize, returnColumns, tableName, where, orderColumnName, orderDesc == true ? "desc" : string.Empty); 
return DbHelperSQL.Query(sql, whereParams).Tables[0]; 

/// <summary> 
/// 移除空參數 
/// </summary> 
/// <param name="WhereParams"></param> 
/// <returns></returns> 
private SqlParameter[] CheckNull(SqlParameter[] paras) 

if (paras == null) 

return null; 

List<SqlParameter> list = new List<SqlParameter>(); 
foreach (SqlParameter para in paras) 

if (para != null) list.Add(para); 

return list.ToArray(); 



頁面后臺: 

復制代碼代碼如下:


public partial class _Default : System.Web.UI.Page 

protected void Page_Load(object sender, EventArgs e) 

recordCount = page.RetrieveDataCount(); 
totalPages = (int)(Math.Ceiling((double)recordCount / (double)page.PageSize)); 
if (!IsPostBack) 

BindData(); 


Alex.PageTools page = new Alex.PageTools("Test", "*", "1=1", "USER_Account", false, "USER_Account", 10, 1, null); 
int recordCount; 
public int totalPages; 

private void BindData() 

int pageIndex = SmartGridView1.PageIndex; 
if(totalPages>0) 

if(pageIndex>totalPages-1) 

pageIndex=totalPages-1; 


else 

pageIndex=0; 

SmartGridView1.PageIndex=pageIndex; 
page.PageIndex=pageIndex+1; 
SmartGridView1.DataSource = page.RetrievePagerData(); 
SmartGridView1.DataBind(); 
if (this.SmartGridView1.PageIndex == 0) 

this.btnFirst.Enabled = false; 
this.btnPrev.Enabled = false; 
if (totalPages == 1) 

this.btnLast.Enabled = false; 
this.btnNext.Enabled = false; 


else if (this.SmartGridView1.PageIndex == totalPages - 1) 

this.btnLast.Enabled = false; 
this.btnNext.Enabled = false; 

this.lblpagesum.Text = totalPages.ToString(); 
this.lblpage.Text = (pageIndex + 1).ToString(); 
this.lblrowscount.Text = recordCount.ToString(); 

public void NavigateToPage(object sender, CommandEventArgs e) 

btnFirst.Enabled = true; 
btnPrev.Enabled = true; 
btnNext.Enabled = true; 
btnLast.Enabled = true; 
string pageinfo = e.CommandArgument.ToString(); 
switch (pageinfo) 

case "Prev": 
if (this.SmartGridView1.PageIndex > 0) 

this.SmartGridView1.PageIndex -= 1; 

break; 
case "Next": 
if (this.SmartGridView1.PageIndex < (totalPages - 1)) 

this.SmartGridView1.PageIndex += 1; 

break; 
case "First": 
this.SmartGridView1.PageIndex = 0; 
break; 
case "Last": 
this.SmartGridView1.PageIndex = totalPages - 1; 
break; 

if (this.SmartGridView1.PageIndex == 0) 

btnFirst.Enabled = false; 
btnPrev.Enabled = false; 
if (totalPages == 1) 

btnLast.Enabled = false; 
btnNext.Enabled = false; 


else if (this.SmartGridView1.PageIndex == totalPages - 1) 

btnLast.Enabled = false; 
btnNext.Enabled = false; 

BindData(); 

protected void gobtnClick(object sender, EventArgs e) 

int goPageIndex = Convert.ToInt32(this.goCount.Text.Trim()); 
if (goPageIndex > 0) 

if (goPageIndex >= totalPages) 

this.SmartGridView1.PageIndex = totalPages - 1; 

else 

this.SmartGridView1.PageIndex = goPageIndex - 1; 


else if(goPageIndex <=0) 

this.SmartGridView1.PageIndex = 0; 

if (this.SmartGridView1.PageIndex == 0) 

btnFirst.Enabled = false; 
btnPrev.Enabled = false; 
btnLast.Enabled = true; 
btnNext.Enabled = true; 
if (totalPages == 1) 

btnLast.Enabled = false; 
btnNext.Enabled = false; 


else if (this.SmartGridView1.PageIndex == totalPages - 1) 

btnLast.Enabled = false; 
btnNext.Enabled = false; 
btnFirst.Enabled = true; 
btnPrev.Enabled = true; 

else 

btnLast.Enabled = true; 
btnFirst.Enabled = true; 
btnNext.Enabled = true; 
btnPrev.Enabled = true; 

BindData(); 


頁面前臺: 

代碼 

復制代碼代碼如下:


<%@ Page Language="C#" Theme="msn_blue" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
<%@ Register Assembly="SmartGridView" Namespace="BOSSWWebUI.SmartGridView" TagPrefix="uc1" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
</head> 
<body> 
<script type="text/javascript"> 
function validate() { 
var gocount=document.getElementById("goCount").value; 
if(gocount=="") 

alert("請先填寫你要導航的頁面"); 
return false; 

var result; 
if(isNaN(gocount)) 

alert("請輸入合法的數字"); 
document.getElementById("goCount").value=""; 
return false; 

if(parseInt(gocount)<=0|| parseInt(gocount)><%=this.totalPages %>) 

alert("數字溢出"); 
document.getElementById("goCount").value=""; 
return false; 

return true; 

</script> 
<form id="form1" runat="server"> 
<div> 
<table cellspacing="0" cellpadding="0" width="98%" align="center" border="0"> 
<tr id="TrGrid" runat="server"> 
<td align="left"> 
○ 頁次:<asp:Label ID="lblpage" runat="server" ></asp:Label>/ 
<asp:Label ID="lblpagesum" runat="server"></asp:Label>,共:<asp:Label 
ID="lblrowscount" runat="server"></asp:Label>條</td> 
<td align="right"> 
<asp:LinkButton ID="btnFirst" runat="server" OnCommand="NavigateToPage" 
CommandArgument="First" CommandName="Pager" Text="首 頁">[首 頁]</asp:LinkButton><asp:LinkButton 
ID="btnPrev" runat="server" CommandArgument="Prev" OnCommand="NavigateToPage" 
CommandName="Pager" Text="上一頁">[上一頁]</asp:LinkButton><asp:LinkButton ID="btnNext" 
runat="server" CommandArgument="Next" OnCommand="NavigateToPage" 
CommandName="Pager" Text="下一頁">[下一頁]</asp:LinkButton><asp:LinkButton ID="btnLast" 
runat="server" CommandArgument="Last" OnCommand="NavigateToPage" 
CommandName="Pager" Text="尾 頁" >[尾 頁]</asp:LinkButton> 
<asp:TextBox ID=goCount runat="server" Width="50px"></asp:TextBox> 
<asp:Button ID="gobtn" runat="server" Text="go" OnClientClick="return validate();" OnClick="gobtnClick" /></td> 
</tr> 
</table> 
<table cellspacing="0" cellpadding="0" width="98%" align="center" border="0"> 
<tr> 
<td> 
<uc1:SmartGridView ID="SmartGridView1" SkinID="blue" runat="server" 
PagingStyle="Default" 
CssClassMouseOver="grid_over" EnableViewState="False" 
AutoGenerateColumns="False" 
Width="100%" currentLanguage=""> 
<Columns> 
<asp:TemplateField> 
<headertemplate> 
<asp:checkbox id="HeadCheckBox" runat="server" /> 
</headertemplate> 
<itemtemplate> 
<asp:checkbox id="checkitem" runat="server" __designer:wfdid="w1"></asp:checkbox> 
</itemtemplate> 
<headerstyle cssclass="tdcell" /> 
<itemstyle horizontalalign="Center" width="5px" cssclass="tdcell" /> 
</asp:TemplateField> 
<asp:BoundField DataField="USER_Account" HeaderText="用戶帳號" SortExpression="USER_Account"> 
<headerstyle cssclass="tdcell" /> 
<itemstyle horizontalalign="Center" cssclass="tdcell" /> 
</asp:BoundField> 
<asp:BoundField DataField="USER_DspName" HeaderText="顯示名稱" SortExpression="USER_DspName"> 
<headerstyle cssclass="tdcell" /> 
<itemstyle horizontalalign="Center" cssclass="tdcell" /> 
</asp:BoundField> 
<asp:BoundField DataField="USER_DspEngName" HeaderText="英文名" SortExpression="USER_DspEngName" > 
<headerstyle cssclass="tdcell" /> 
<itemstyle cssclass="tdcell" horizontalalign="Center" /> 
</asp:BoundField> 
<asp:BoundField DataField="USER_HRID" HeaderText="員工號" SortExpression="USER_HRID" > 
<headerstyle cssclass="tdcell" /> 
<itemstyle cssclass="tdcell" horizontalalign="Center" /> 
</asp:BoundField> 
<asp:BoundField DataField="USER_Email" HeaderText="郵件地址" SortExpression="USER_Email"> 
<headerstyle cssclass="tdcell" /> 
<itemstyle horizontalalign="Center" cssclass="tdcell" /> 
</asp:BoundField> 
<asp:BoundField DataField="USER_Title" HeaderText="職 稱" SortExpression="USER_Title"> 
<headerstyle cssclass="tdcell" /> 
<itemstyle horizontalalign="Center" cssclass="tdcell" /> 
</asp:BoundField> 
<asp:BoundField DataField="USER_Tel" HeaderText="電 話" SortExpression="USER_Tel"> 
<headerstyle cssclass="tdcell" /> 
<itemstyle horizontalalign="Center" cssclass="tdcell" /> 
</asp:BoundField> 
<asp:BoundField DataField="USER_Active" HeaderText="是否有效" SortExpression="USER_Active"> 
<headerstyle cssclass="tdcell" /> 
<itemstyle horizontalalign="Center" cssclass="tdcell" /> 
</asp:BoundField> 
<asp:BoundField DataField="USER_Major" HeaderText="專業" SortExpression="USER_Major" > 
<headerstyle cssclass="tdcell" horizontalalign="Center" /> 
<itemstyle cssclass="tdcell" horizontalalign="Center" /> 
</asp:BoundField> 
</Columns> 
<HeaderStyle CssClass="thHead" /> 
<FixRowCol TableHeight="" TableWidth="" /> 
<RowStyle CssClass="tdcell" /> 
</uc1:SmartGridView> 
</td></tr> 
</table> 
</div> 
</form> 
</body> 
</html> 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久人妻无码毛片A片麻豆 久久热这里只有 精品 | 胸奶好大好紧好湿好爽 | 欧美精品一区二区在线观看 | 欧美聚众性派对hdsex | 深夜福利在线播放 | 男女刺激高清视频在线观看 | 好大好长好紧爽免费 | 60岁妇女毛片免费观看 | 91进入蜜桃臀在线播放 | 欧美视频免费 | 性色AV一区二区三区V视界影院 | 日本一本二本三区免费 | 香蕉 在线播放 | 果冻传媒在线视频观看免费 | 日本一本草久p | 五月天网站| 1313午夜精品久久午夜片 | 黄 色 成 年人在线 幻女free性俄罗斯第一次摘花 | 精品午夜寂寞影院在线观看 | 免费黄色小说 | 色一情一区二区三区四区 | 亚飞与亚基高清国语在线观看 | 亚洲国产成人精品无码区99 | 欧美vpswindows动物 | 欧美日韩一区二区三区在线视频 | 免费网址视频在线看 | 风间由美被义子中文字幕 | 国产麻豆网 | 范冰冰好紧好滑好湿 | 亚洲第一se情网站 | 成人四虎| 婷婷天天 | sese在线播放 | 法国女佣系列在线播放 | 精品91 | 日本大片免aaa费观看视频 | 亚洲一区二区三区免费视频 | 胸大的姑娘中文字幕视频 | 99精品热 | 30分钟的高清视频在线观看 | 午夜视频一区二区 |