<٪@ استيراد اسم الاستيراد = "system.data.sqlclient" ٪>
<٪@ استيراد اسم الاستيراد = "system.data" ٪>
<script runat = "server">
قاتمة كونورثويند مثل SQLConnection
قاتمة strsql كسلسلة
قفص strelect كسلسلة
قاتمة intstartIndex كما عدد صحيح
Dim intendIndex كصاحب صحيح
قاتمة intrecordcount كما عدد صحيح
قاتمة CMDSQL مثل SQLCommand
sub page_load
btnfirst.text = "首页"
btnprev.text = "上一页"
btnnext.text = "下一页"
btnlast.text = "末页"
connorthwind = new sqlconnection ("server = 192.168.4.1 ؛ uid = sa ؛ pwd = 111111 ؛ database = yourdbname")
إذا لم يكن ispostback ثم
bindDataGrid
إنهاء إذا
نهاية الفرعية
sub bindDataGrid
قاتمة cmdselect مثل sqlcommand
Dim DtrrecordCount كما sqldatareader
intendIndex = dgrdproducts.pagesize
cmdselect = new SqlCommand ("Newspaged" ، Connorthwind)
cmdselect.CommandType = commandtype.storedprocedure
cmdselect.parameters.add ("pageIndex" ، intstartIndex)
cmdselect.parameters.add ("pagesize" ، intendIndex)
connorthwind.open ()
dtrrecordCount = cmdselect.executereader ()
بينما dtrrecordcount.read ()
intrecordcount = dtrrecordCount (0)
تنتهي
dgrdproducts.virtualitemCount = (intrecordCount / dgrdproducts.pagesize)
dtrrecordcount.nextresult ()
dgrdproducts.datasource = dtrrecordCount
dgrdproducts.databind ()
connorthwind.close ()
نهاية الفرعية
sub dgrdproducts_pageindexchanged (s ككائن ، e مثل datagridpagechangedeventargs)
IntStartIndex = E.NewPageIndex
dgrdproducts.currentPageIndex = E.NewPageIndex
bindDataGrid
نهاية الفرعية
Sub Pagerbuttonclick (مرسل Byval ككائن ، Byval E كـ EventArgs)
Dim Arg as string = sender.CommandArgument
حدد Case Arg
القضية "التالي"
if (dgrdproducts.currentPageIndex <(dgrdproducts.pageCount - 1)) ثم
dgrdproducts.currentPageIndex += 1
إنهاء إذا
القضية "السابقة"
if (dgrdproducts.currentPageIndex> 0) ثم
dgrdproducts.currentPageIndex -= 1
إنهاء إذا
حالة "الماضي"
dgrdproducts.currentPageIndex = (dgrdproducts.pageCount - 1)
حالة أخرى
رقم الصفحة
dgrdproducts.currentPageIndex = System.Convert.toint32 (Arg)
نهاية الاختيار
IntStartIndex = dgrdproducts.currentPageIndex
bindDataGrid
نهاية الفرعية
sub dgrdproducts_editCommand (s ككائن ، e كـ datagridCommandeventArgs)
DGRDProducts.EditItemIndex = E.Item.ItemIndex
IntStartIndex = dgrdproducts.currentPageIndex
bindDataGrid
نهاية الفرعية
sub dgrdproducts_updatecommand (s ككائن ، e كـ datagridCommandeventArgs)
قاتمة intarticleid كما عدد صحيح
dim txttopic كعلب نص
Dim Txteditor كعلب نص
قاتمة strtopic كسلسلة
قفم ستريتور كسلسلة
intarticleid = dgrdproducts.datakeys (e.item.itemindex)
txttopic = e.item.cells (1) .Controls (0)
txteditor = e.item.cells (2) .Controls (0)
strtopic = txttopic.text
streditor = txteditor.text
strsql = "تحديث TB_ARTICLE SET [البريد الإلكتروني المحمي] ،" _
و "[البريد الإلكتروني المحمي] حيث [البريد الإلكتروني المحمي]"
CMDSQL = جديد SQLCommand (Strsql ، Connorthwind)
cmdsql.parameters.add ("topic" ، strtopic)
cmdsql.parameters.add ("editor" ، streditor)
cmdsql.parameters.add ("articleid" ، intarticleid)
connorthwind.open ()
cmdsql.executenonquery ()
connorthwind.close ()
DGRDProducts.EditItemIndex = -1
bindDataGrid
نهاية الفرعية
sub dgrdproducts_cancelCommand (s ككائن ، e كما dataGridCommandeventArgs)
DGRDProducts.EditItemIndex = -1
bindDataGrid
نهاية الفرعية
</script>
<html>
<head> <title> dataGridCustompaging.aspx </title> </head>
<body>
<form runat = "server">
<ASP: DataGrid Runat = "Server"
ID = "DGRDProducts"
OneDitCommand = "DGRDProducts_editCommand"
onupdatecommand = "dgrdproducts_updatecommand"
OncancelCommand = "DGRDProducts_CancelCommand"
DatakeyField = "A_ArticleID"
AutogenerateColumns = "خطأ"
Showheader = "True"
allowpaging = "True"
leftcustompaging = "True"
Headersstyle-BackColor = "Salmon"
pagesize = "10"
onPageIndexChanged = "dgrdproducts_pageindexchanged"
Pagerstyle-mode = "Numericpages"
leveditemstyle-backcolor = "#eeaaee"
حجم الخط = "10pt"
Font-Name = "Verdana"
cellspacing = "0"
cellpadding = "3"
خطوط الشبكات = "كلاهما"
الحدود = "1"
BorderColor = "Black"
Pagerstyle أفقي = "يمين">
<ListenringItemStyle BackColor = "#eeeeeee"> </listenringitemstyle>
<أعمدة>
<ASP: BoundColumn
HeaderText = "序列号"
DataField = "مقاليد"
readonly = "true" />
<ASP: BoundColumn
HeaderText = "标题"
DataField = "Topic" />
<ASP: BoundColumn
HeaderText = "编辑者"
DataField = "محرر" />
<asp: editCommandColumn
edittext = "تحرير!"
updateText = "تحديث!"
CancelText = "إلغاء!" />
<ASP: الارتباط التشعبي
HeaderText = "编辑"
datanavigateUrlfield = "مقاليد"
datanavigateUrlFormatString = "DEELECTS.ASPX؟ id = {0}"
نص = "编辑"/>
</أعمدة>
</asp: datagrid>
<asp: linkbutton id = "btnfirst" runat = "server" font-name = "verdana" font-size = "8pt" forecolor = "navy" commandArgument = "0"> </asp: linkbutton> & nbsp ؛
<asp: linkbutton id = "btnprev" runat = "server" font-name = "verdana" font-size = "8pt" forecolor = "navy" commandargument = "prev"> </asp: linkbutton> & nbsp ؛
<asp: linkbutton id = "btnnext" runat = "server" font-name = "verdana" font-size = "8pt" forecolor = "navy" commandArgument = "next"> </asp: linkbutton> & nbsp ؛
<asp: linkbutton id = "btnlast" runat = "server" font-name = "verdana" font-size = "8pt" forecolor = "navy" commandArgument = "last"> </asp: linkbutton>
</form>
</html>
: :
إنشاء الإجراءات الإجراءات
((
pageIndex int ،
pagesize int
)
مثل
يبدأ
DECLARE PAGELOWERBOUND int
إعلان pageupperbound int
إعلان @RowStoreturn int
- قم أولاً بتعيين rowcount
SETROWSTORETURN = pagesize * (pageIndex + 1)
تعيين ROWCOUNTROWSTORETURN
- اضبط حدود الصفحة
setPageLowerBound = pagesize * pageIndex
setpageupperBound = pageLowerBound + pagesize + 1
- قم بإنشاء جدول مؤقت لتخزين نتائج تحديد
إنشاء جدول #pageIndex
((
INDEXID INT هوية (1 ، 1) ليس فارغًا ،
مقاليد int ،
)
- أدخل في جدول مؤقت
أدخل في #pageIndex (مقاليد)
يختار
مقاليد
من
اسم TableName
ترتيب
مقاليد ديسك
- إجمالي إرجاع العد
حدد العد (مقاليد) من Tablename
- عودة النتائج المليئة
يختار
O.Articleid ، O.TOPIC ، محرر
من
اسم tablenment o ،
#pageIndex pageIndex
أين
O.ArticleId = pageIndex.ArticleID و
pageIndex.Indexid> pageLowerBound و
pageIndex.Indexid <pageUpperBound
ترتيب
pageIndex.indexid
نهاية