自定義分頁控制元件
一、.ascx頁面
記錄總數:
總頁數:
當前頁:
Text="首頁">
Text="上一頁">
Text="下一頁">
Text="末頁">
轉到第
頁
二、.ascx.cs檔案
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace IOCS.WEB.UserControl
{
public partial class Pagination : System.Web.UI.UserControl
{
public event EventHandler PageButtonClick;
public bool FirstPost = false;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
// 只輸入數字
txtpage.Attributes.Add("onclick",
@"if(!((event.keyCode>=48&&event.keyCode<=57)
||(event.keyCode>=96&&event.keyCode<=105)
||(event.keyCode==8)))event.returnValue=false;"
);
}
GridView _gv;
///
/// 需要分頁的GridView
///
public GridView TargetControlID
{
set
{
_gv = value;
}
get
{
return _gv;
}
}
protected void PagerButtonClick(object sender, EventArgs e)
{
//獲得linkebutton的引數值
string arg = ((LinkButton)sender).CommandArgument;
switch (arg)
{
case ("next"):
{
if (_gv.PageIndex < _gv.PageCount - 1)
{
_gv.PageIndex=_gv.PageIndex+1;
}
break;
}
case ("prev"):
{
if (_gv.PageIndex > 0)
{
_gv.PageIndex--;
}
break;
}
case ("first"):
{
_gv.PageIndex = 0;
break;
}
case ("last"):
{
if (_gv.PageCount > 0)
{
_gv.PageIndex = _gv.PageCount - 1;
}
break;
}
default:
{
_gv.PageIndex = Convert.ToInt32(arg);
break;
}
}
PageButtonClick(sender, e);
}
public void SetPageButton()
{
if (_gv.PageIndex == 0)
{
LinkFirst.Enabled = false;
LinkPrevious.Enabled = false;
LinkFirst.Style["color"] = "gray";
LinkPrevious.Style["color"] = "gray";
object s = LinkFirst.Style.Keys;
if (_gv.PageCount > 1)
{
LinkNext.Enabled = true;
LinkLast.Enabled = true;
txtpage.Enabled = true;
txtpage.Enabled = true;
LinkNext.Style["color"] = "#000";
LinkLast.Style["color"] = "#000";
txtpage.Style["readonly"] = "false";
}
else
{
LinkNext.Enabled = false;
LinkLast.Enabled = false;
txtpage.Enabled = false;
LinkNext.Style["color"] = "gray";
LinkLast.Style["color"] = "gray";
txtpage.Style["readonly"] = "true";//background-color
}
}
else if (_gv.PageIndex == _gv.PageCount - 1)
{
LinkFirst.Enabled = true;
LinkPrevious.Enabled = true;
LinkNext.Enabled = false;
LinkLast.Enabled = false;
LinkFirst.Style["color"] = "#000";
LinkPrevious.Style["color"] = "#000";
LinkNext.Style["color"] = "gray";
LinkLast.Style["color"] = "gray";
}
else
{
LinkFirst.Enabled = true;
LinkPrevious.Enabled = true;
LinkNext.Enabled = true;
LinkLast.Enabled = true;
LinkFirst.Style["color"] = "#000";
LinkPrevious.Style["color"] = "#000";
LinkNext.Style["color"] = "#000";
LinkLast.Style["color"] = "#000";
}
}
///
/// 設定頁面資訊
///
/// DataSet的紀錄總數
public void SetPageRecord(int dsCount)
{
LRecords.Text = dsCount.ToString();
int mod= dsCount%_gv.PageSize;
LPages.Text = (mod == 0 ? dsCount / _gv.PageSize : dsCount / _gv.PageSize + 1).ToString();
LPage.Text = (_gv.PageIndex + 1).ToString();
tbPage.Visible = true;
SetPageButton();
}
protected void txtpage_TextChanged(object sender, EventArgs e)
{
if (txtpage.Text != "")
{
try
{
int index = int.Parse(txtpage.Text.Trim());
if (index <= _gv.PageCount && index >= 1)
{
_gv.PageIndex = index - 1;
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Script", "alert('對不起,頁數超過索引範圍!');");
}
}
catch
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Script", "alert('對不起,只能輸入數字!');");
}
}
PageButtonClick(sender, e);
}
}
}
記錄總數:
總頁數:
當前頁:
轉到第
頁
二、.ascx.cs檔案
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace IOCS.WEB.UserControl
{
public partial class Pagination : System.Web.UI.UserControl
{
public event EventHandler PageButtonClick;
public bool FirstPost = false;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
// 只輸入數字
txtpage.Attributes.Add("onclick",
@"if(!((event.keyCode>=48&&event.keyCode<=57)
||(event.keyCode>=96&&event.keyCode<=105)
||(event.keyCode==8)))event.returnValue=false;"
);
}
GridView _gv;
///
/// 需要分頁的GridView
///
public GridView TargetControlID
{
set
{
_gv = value;
}
get
{
return _gv;
}
}
protected void PagerButtonClick(object sender, EventArgs e)
{
//獲得linkebutton的引數值
string arg = ((LinkButton)sender).CommandArgument;
switch (arg)
{
case ("next"):
{
if (_gv.PageIndex < _gv.PageCount - 1)
{
_gv.PageIndex=_gv.PageIndex+1;
}
break;
}
case ("prev"):
{
if (_gv.PageIndex > 0)
{
_gv.PageIndex--;
}
break;
}
case ("first"):
{
_gv.PageIndex = 0;
break;
}
case ("last"):
{
if (_gv.PageCount > 0)
{
_gv.PageIndex = _gv.PageCount - 1;
}
break;
}
default:
{
_gv.PageIndex = Convert.ToInt32(arg);
break;
}
}
PageButtonClick(sender, e);
}
public void SetPageButton()
{
if (_gv.PageIndex == 0)
{
LinkFirst.Enabled = false;
LinkPrevious.Enabled = false;
LinkFirst.Style["color"] = "gray";
LinkPrevious.Style["color"] = "gray";
object s = LinkFirst.Style.Keys;
if (_gv.PageCount > 1)
{
LinkNext.Enabled = true;
LinkLast.Enabled = true;
txtpage.Enabled = true;
txtpage.Enabled = true;
LinkNext.Style["color"] = "#000";
LinkLast.Style["color"] = "#000";
txtpage.Style["readonly"] = "false";
}
else
{
LinkNext.Enabled = false;
LinkLast.Enabled = false;
txtpage.Enabled = false;
LinkNext.Style["color"] = "gray";
LinkLast.Style["color"] = "gray";
txtpage.Style["readonly"] = "true";//background-color
}
}
else if (_gv.PageIndex == _gv.PageCount - 1)
{
LinkFirst.Enabled = true;
LinkPrevious.Enabled = true;
LinkNext.Enabled = false;
LinkLast.Enabled = false;
LinkFirst.Style["color"] = "#000";
LinkPrevious.Style["color"] = "#000";
LinkNext.Style["color"] = "gray";
LinkLast.Style["color"] = "gray";
}
else
{
LinkFirst.Enabled = true;
LinkPrevious.Enabled = true;
LinkNext.Enabled = true;
LinkLast.Enabled = true;
LinkFirst.Style["color"] = "#000";
LinkPrevious.Style["color"] = "#000";
LinkNext.Style["color"] = "#000";
LinkLast.Style["color"] = "#000";
}
}
///
/// 設定頁面資訊
///
/// DataSet的紀錄總數
public void SetPageRecord(int dsCount)
{
LRecords.Text = dsCount.ToString();
int mod= dsCount%_gv.PageSize;
LPages.Text = (mod == 0 ? dsCount / _gv.PageSize : dsCount / _gv.PageSize + 1).ToString();
LPage.Text = (_gv.PageIndex + 1).ToString();
tbPage.Visible = true;
SetPageButton();
}
protected void txtpage_TextChanged(object sender, EventArgs e)
{
if (txtpage.Text != "")
{
try
{
int index = int.Parse(txtpage.Text.Trim());
if (index <= _gv.PageCount && index >= 1)
{
_gv.PageIndex = index - 1;
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Script", "
}
}
catch
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Script", "
}
}
PageButtonClick(sender, e);
}
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28699126/viewspace-757179/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 自定義分頁格式
- django 自定義分頁與bootstrap分頁結合Djangoboot
- SAP UI5 列表控制元件分頁顯示資料時,如何自定義分頁大小UI控制元件
- GridView 自定義模版自定義修改,刪除,分頁View
- 自定義分頁標籤詳解
- python 自定義資料分頁Python
- DataTables自定義分頁條數實現
- Android自定義控制元件之自定義組合控制元件Android控制元件
- Android自定義控制元件——自定義屬性Android控制元件
- 使用 Laravel Resource 類時自定義分頁資訊Laravel
- 自定義Switch控制元件控制元件
- 自定義控制元件ViewPager控制元件Viewpager
- 控制元件自定義位置控制元件
- 如何自定義控制元件控制元件
- 4. 自定義控制元件(4) --- 自定義屬性控制元件
- Android自定義控制元件之自定義屬性Android控制元件
- Flutter 之 自定義控制元件Flutter控制元件
- iOS自定義控制元件 AlertViewiOS控制元件View
- iOS自定義控制元件 SegmentiOS控制元件
- WPF Blend 自定義控制元件控制元件
- 自定義彈幕控制元件控制元件
- winform 自定義容器控制元件ORM控制元件
- 自定義控制元件之歌詞RCL控制元件控制元件
- 自定義控制元件中的控制元件呼叫引用控制元件的頁面裡的函式 (轉)控制元件函式
- Android自定義組合控制元件之自定義屬性Android控制元件
- C#自定義控制元件:如果定義控制元件的事件C#控制元件事件
- WPF 自定義控制元件的坑(蠢的:自定義控制元件內容不顯示)控制元件
- 自定義控制元件(二) 從原始碼分析事件分發機制控制元件原始碼事件
- Flutter 自定義縮放控制元件Flutter控制元件
- iOS自定義控制元件 SlideriOS控制元件IDE
- Qt實現自定義控制元件QT控制元件
- android:建立自定義控制元件Android控制元件
- 自定義UIView UITableViewCell等控制元件UIView控制元件
- 自定義下拉選單控制元件控制元件
- 自定義的ValidationSummary控制元件控制元件
- lucene 自定義評分
- iOS自定義控制元件:簡易下拉控制元件iOS控制元件
- android 自定義控制元件 自定義屬性詳細介紹Android控制元件