< %@ importieren namespace = "system.data.sqlclient" %>
< %@ importieren namespace = "system.data" %>
<script runat = "server">
Dim Connorthwind als SQLConnection
Dim Strsql als Zeichenfolge
Dimer Strelect als Zeichenfolge
Dim intstartIndex als Ganzzahl
Dim IntendIndex als Ganzzahl
Dimer IntrecordCount als Ganzzahl
dim CMDSQL als SQLCommand
sub page_load
btnfirst.text = "首页"
btnprev.text = "上一页"
btnnext.text = "下一页"
btnlast.text = "末页"
connorthwind = new SQLConnection ("Server = 192.168.4.1; UID = SA; PWD = 111111; Datenbank = YourDbName"))
wenn nicht iSpostback dann
Binddatagrid
Ende wenn
Ende sub
Subbinddatagrid
Dimd CmdSelect als SQLCommand
dimer dtrrecordcount als sqldatareaderer
IntendIndex = dgrdProducts.pageSize
CMDSELECT = NEU SQLCOMMAND ("Newspaged", Connorthwind)
cmdSelect.commandType = commandtype.StoredProcedure
cmdSelect.parameters.add ("@pageIndex", intstartIndex)
cmdSelect.parameters.add ("@pageSize", IntendIndex)
connorthwind.open ()
DtrEcordCount = cmdSelect.executereader ())
während DtrrecordCount.read ()
IntrecordCount = DtrEcordCount (0)
Ende während
DGRDProducts.virtualItemCount = (IntrecordCount / DGRDProducts.PageSize)
DtrrecordCount.Nextresult ())
DGRDProducts.DataSource = DtrEcordCount
DGRDProducts.databind ()
connorthwind.close ()
Ende sub
sub DGRDProducts_PageIndExchanged (s als Objekt, e als DataGridPagechangeDeVentArgs)
intstartIndex = e.NewPageIndex
DGRDProducts.currentPageIndex = e.NewpageIndex
Binddatagrid
Ende sub
sub pagerbuttonclick (Byval -Absender als Objekt, Byval e als EventArgs)
dim arg as string = sender.commandargument
Wählen Sie Fall arg
Fall "Weiter"
if (dgrdproducts.currentPageIndex <(dgrdproducts.pageCount - 1)) dann
DGRDProducts.CurrentPageIndex += 1
Ende wenn
Fall "prev"
if (dgrdproducts.currentPageIndex> 0) dann
DGRDProducts.CurrentPageIndex -= 1
Ende wenn
Fall "zuletzt"
DGRDProducts.currentPageIndex = (DGRDProducts.PageCount - 1)
Fall sonst
'Seitenzahl
DGRDProducts.currentPageIndex = System.Convert.Toint32 (arg)
Ende auswählen
intStartIndex = dgrdproducts.currentPageIndex
Binddatagrid
Ende sub
sub DGRDProducts_Editcommand (s als Objekt, e as datagridcommandeventArgs)
DGRDProducts.EditemIndex = E.Item.ItemIndex
intStartIndex = dgrdproducts.currentPageIndex
Binddatagrid
Ende sub
sub DGRDProducts_UPDATECOMMAND (S als Objekt, e als DataGridCommandeventArgs)
Dim intarticleId als Ganzzahl
dim txttopic als Textbox
Dim Txteditor als Textbox
Dimes Strtopic als String
Dimer Straitor als 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 = "TB_ARTICLE -SET [E -Mail geschützt]," _
& "[E -Mail geschützt] wobei [E -Mail geschützt]"
CMDSQL = NEU 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.EditemIndex = -1
Binddatagrid
Ende sub
sub DGRDProducts_CancelCommand (s als Objekt, e as datagridcommandeventArgs)
DGRDProducts.EditemIndex = -1
Binddatagrid
Ende sub
</script>
<html>
<Head> <titels> DataGridCustomGing.aspx </title> </head>
<body>
<Formular Runat = "Server">
<ASP: DataGrid Runat = "Server"
id = "DGRDProducts"
ONEDITCOMMAND = "DGRDPRODUCTS_EDITCOMMAND"
OnupdateCommand = "DGRDPRODUCTS_UPDATECOMMAND"
OnCancelCommand = "DGRDProducts_CancelCommand"
datakeyfield = "a_articleId"
autogeneratecolumns = "false"
ShowHeader = "true"
erlaubenPaging = "true"
CALLECUSTOMPAGING = "True"
Headeryle-Backcolor = "Salmon"
pageSize = "10"
OnPageInDexchanged = "DGRDPRODUCTS_PAGEIDEDEXCHANDED"
Pageryle-mode = "numericPages"
alternatingItemStyle-backcolor = "#eeaaee"
Schriftgröße = "10pt"
Schriftname = "Verdana"
cellspacing = "0"
cellpadding = "3"
gridlines = "beide"
Borderwidth = "1"
BorderColor = "Schwarz"
Pageryle-horizontalalign = "rechts">
<StalternatingItemStyle Backcolor = "#eeeeee"> </alternatingItemStyle>
<spalten>
<ASP: BoundColumn
HeaderText = "序列号"
Datafield = "ArtikelID"
readonly = "true" />
<ASP: BoundColumn
HeaderText = "标题"
Datafield = "Thema" />
<ASP: BoundColumn
HeaderText = "编辑者"
Datafield = "Editor" />
<ASP: editCommandcolumn
editText = "bearbeiten!"
updateText = "Update!"
CancelText = "Cancel!" />
<ASP: Hyperlinkcolumn
HeaderText = "编辑"
DatanAvigateurlfield = "ArtikelID"
DatanAvigateUrlFormatString = "details.aspx? id = {0}"
text = "编辑"/>
</Spalten>
</ASP: DataGrid>
<ASP: linkButton id = "btnfirst" runat = "server" font-name = "Verdana" font-size = "8pt" prognolor = "navy" commandArgument = "0"> </ASP: linkbutton> & nbsp;
<ASP: linkButton id = "btnprev" runat = "server" font-name = "Verdana" font-size = "8pt" prognolor = "navy" commandArgument = "prev"> </assp: linkbutton> & nbsp;
<ASP: linkButton id = "btnnext" runat = "server" font-name = "Verdana" font-size = "8pt" prognolor = "navy" commandArgument = "next"> </assp: linkbutton> & nbsp;
<ASP: LinkButton id = "BtnLast" Runat = "Server" font-name = "Verdana" font-size = "8pt" prognolor = "navy" commandArgument = "last"> </ASP: linkButton>
</form>
</html>
下面是存储过程 :
Erstellen Sie die Zeitspage
(
@pageIndex int,
@PageSize Int
)
als
beginnen
deklariere @pagelowerbound int
deklarieren @pageupperbound int
Declare @RowStoreturn int
- Setzen Sie zuerst den RowCount
setze @rowStoreturn = @pageSize * (@pageIndex + 1)
Setzen Sie rowCount @rowStoreturn
- Setzen Sie die Seitengrenzen
Setzen Sie @PagelowerBound = @pageSize * @pageIndex
Setzen Sie @pageupperbound = @pagelowerBound + @pageSize + 1
- Erstellen Sie eine TEMP-Tabelle, um die ausgewählten Ergebnisse zu speichern
Erstellen Sie Tabelle #PageIndex
(
INDEXID INT -Identität (1, 1) nicht null,
ArtikelID int,
)
- In die Temperaturtabelle einfügen
In #PageIndex (articleId) einfügen
wählen
ArtikelID
aus
Tablauton
bestellen von
ArtikelID Desc
- Return Total Count
Wählen Sie Graf (ArtikelID) aus TableName
- Return Page-Ergebnisse zurückgeben
wählen
O.articleId, O.Topic, Herausgeber
aus
Tablauton o,,
#PageIndex PageIndex
Wo
O.articleId = pageIndex.articleId und
pageIndex.indexid> @pagelowerbound und
pageIndex.indexid <@pageupperbound
bestellen von
PageIndex.Indexid
Ende