< %@ impor namespace = "System.data.sqlclient" %>
< %@ import namespace = "System.data" %>
<skrip runat = "server">
Dim Connorthwind sebagai SQLConnection
redup strsql sebagai string
redup strselect sebagai string
redup intstartIndex sebagai bilangan bulat
redup intendIndex sebagai bilangan bulat
redup intrecordcount sebagai integer
redup cmdsql sebagai sqlCommand
sub page_load
btnfirst.text = "首页"
btnprev.text = "上一页"
btnnext.text = "下一页"
btnlast.text = "末页"
ConnorthWind = SQLConnection baru ("Server = 192.168.4.1; uid = SA; PWD = 111111; database = yourdbname")
Jika bukan ispostback maka
BindDatagrid
akhiri jika
akhir sub
Sub BindDatagrid
redup cmdselect sebagai sqlCommand
redup dtrrrecordcount sebagai sqldataareader
intendIndex = dgrdproducts.pagesize
cmdselect = sqlCommand baru ("newspaged", connorthwind)
cmdselect.CommandType = commandType.StoredProcedure
cmdselect.parameters.add ("@pageIndex", intstartIndex)
cmdselect.parameters.add ("@pagesize", intendIndex)
connorthwind.open ()
dtrrrecordcount = cmdselect.executereader ()
while dtrrrecordcount.read ()
intrecordcount = dtrrrecordcount (0)
berakhir saat
dgrdproducts.virtualitemcount = (intrecordcount / dgrdproducts.pagesize)
dtrrrecordcount.nextresult ()
dgrdproducts.datasource = dtrrrecordcount
dgrdproducts.databind ()
connorthwind.close ()
akhir sub
Sub DgrdProducts_PageIndExchanged (s sebagai objek, e sebagai datagridpageChangedEventArgs)
intstartIndex = E.NewPageIndex
dgrdproducts.currentpageIndex = e.newpageIndex
BindDatagrid
akhir sub
sub pagerbuttonclick (pengirim byval sebagai objek, byval e as eventargs)
redup arg as string = sender.CommandArgument
Pilih Case Arg
kasus "berikutnya"
if (dgrdproducts.currentpageIndex <(dgrdproducts.pagecount - 1)) lalu
dgrdproducts.currentpageIndex += 1
akhiri jika
kasus "prev"
if (dgrdproducts.currentpageIndex> 0)
dgrdproducts.currentpageIndex -= 1
akhiri jika
kasus "terakhir"
dgrdproducts.currentpageIndex = (dgrdproducts.pagecount - 1)
kasus lain
Nomor halaman
dgrdproducts.currentpageIndex = system.convert.toint32 (arg)
Akhiri Pilih
intstartIndex = dgrdproducts.currentpageIndex
BindDatagrid
akhir sub
Sub DgrdProducts_EditCommand (s sebagai objek, e sebagai datagridCommandeventArgs)
dgrdproducts.editItemIndex = E.Item.ItemIndex
intstartIndex = dgrdproducts.currentpageIndex
BindDatagrid
akhir sub
Sub DGRDPRODUCTS_UPDATECommand (s sebagai objek, e sebagai datagridCommandeventArgs)
redup intarticleid sebagai bilangan bulat
redup txttopic sebagai kotak teks
redup txteditor sebagai kotak teks
redup strtopic sebagai string
redup streditor sebagai string
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 = "perbarui tb_article set [email dilindungi]," _
& "[Email dilindungi] di mana [email dilindungi]"
CMDSQL = SQLCommand baru (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
akhir sub
Sub DgrdProducts_CancelCommand (s sebagai objek, e sebagai datagridCommandeventArgs)
dgrdproducts.editItemIndex = -1
BindDatagrid
akhir sub
</script>
<Html>
<Head> <title> datagridcustompaging.aspx </iteme> </head>
<body>
<form runat = "server">
<Asp: datagrid runat = "server"
id = "DGRDProducts"
ONEDITCOMMAND = "DGRDPRODUCTS_EDITCOMMAND"
onupdateCommand = "dgrdproducts_updateCommand"
OncancelCommand = "DGRDPRODUCTS_CANCELCOMMAND"
datakeyfield = "a_articleid"
autogenerateColumns = "false"
showheader = "true"
allowpaging = "true"
Allowcustompaging = "true"
headerstyle-backcolor = "salmon"
halaman = "10"
OnPageIndExchanged = "DGRDPRODUCTS_PAGEIDExchanged"
pagerstyle-mode = "numericpages"
BERGERBITANITEMSTYLE-BACKCOLOR = "#EEAAEE"
font-size = "10pt"
font-name = "verdana"
cellspacing = "0"
cellpadding = "3"
gridlines = "keduanya"
borderwidth = "1"
BorderColor = "Hitam"
pagerstyle-horizontalalign = "kanan">
<bolak -balik BackColor = "#eeeeeee"> </gigeriMStyle>
<columns>
<Asp: BoundColumn
headertext = "序列号"
Datafield = "ArtictId"
readonly = "true" />
<Asp: BoundColumn
headertext = "标题"
Datafield = "Topic" />
<Asp: BoundColumn
headertext = "编辑者"
DataField = "Editor" />
<ASP: EditCommandColumn
editText = "Edit!"
UpdateText = "Update!"
canceltext = "Batal!" />
<ASP: HyperlinkColumn
headertext = "编辑"
DataAvigateUrlfield = "ArtictId"
DataAvigateUrlFormatString = "details.aspx? id = {0}"
text = "编辑"/>
</solument>
</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"> </sp: linkbutton> & nbsp;
<Asp: LinkButton ID = "btnnext" runat = "server" font-name = "verdana" font-size = "8pt" forecolor = "navy" commandArgument = "NEXT"> </SOB: LINKBUTTON> & NBSP;
<Asp: LinkButton ID = "btnLast" runat = "server" font-name = "verdana" font-size = "8pt" forecolor = "navy" commandArgument = "last"> </asp: linkbutton>
</form>
</html>
下面是存储过程 :
Buat Prosedur yang Newspage
(
@pageIndex int,
@pagesize int
)
sebagai
mulai
DECLARE @PAGELOWERBOUND INT
DECLARE @PageUPPERBOUND INT
DECLARE @RORRORTETURN INT
- Pertama atur rowcount
set @RowStoreturn = @Pagesize * (@PageIndex + 1)
Setel RowCount @RowStoreturn
- Atur batas halaman
set @pagelowerbound = @pagesize * @pageIndex
set @pageupperbound = @pagelowerbound + @pagesize + 1
- Buat tabel temp untuk menyimpan hasil pilih
Buat tabel #PageIndex
(
Identitas int indexid (1, 1) bukan nol,
ArticleID int,
)
- Masukkan ke dalam tabel temp
Masukkan ke #PageIndex (ArtictID)
memilih
Articleid
dari
Tablename
memesan oleh
Articleid Desc
- Jumlah total pengembalian
Pilih Hitung (ArtictID) dari TableName
- Hasil pengembalian paged
memilih
o.articleid, o.topic, editor
dari
Tablename o,
#PageIndex PageIndex
Di mana
o.articleid = pageIndex.articleid dan
pageIndex.indexid> @pagelowerbound dan
pageIndex.indexid <@pageupperbound
memesan oleh
pageIndex.indexid
akhir