Datagrid og paging - mystisk fejl
Jeg har følgende namespace. Her henter jeg data ind i et datagrid hvor der er tilknyttet paging.Der er intet problem i at hente data ind i gridet. Der er heller intet problem hvis jeg for eksempel klikker på side 3, derefter side 4 og vender tilbage til side 3.
Men hvis jeg klikker på en anden side end side 1 og derefter vil tilbage til side 1 så viser den den side jeg så før side 1...
Håber det er til at forstå.
Namespacet:
Namespace adminkat
Public Class adminkat : : inherits page
Dim data as new data.data()
Dim design as new design.design()
Dim cch as new cch.cch()
Dim sikkerhed as new sikkerhed.sikkerhed()
Dim port as string = System.Web.HttpContext.Current.request.querystring("port")
Dim grup as string = System.Web.HttpContext.Current.request.querystring("grup")
Dim area as string = System.Web.HttpContext.Current.request.querystring("area")
Dim valg as string = System.Web.HttpContext.Current.request.querystring("valg")
Dim emne as string = System.Web.HttpContext.Current.request.querystring("emne")
Dim typeid as integer
Dim portid as integer
Dim nummer as integer
Dim grid as new datagrid
Dim btnplac as new button
'start
Public function start(sted as object) as string
'Tildeling af værdier
If grup = "nyhed" and area="kat1" then
typeid = 1
portid = port
nummer = 1
elseif grup="indhold" and area="kat1" then
typeid = 2
portid = port
nummer = 1
elseif grup = "foto" and area="kat1" then
typeid = 5
portid = 9999
nummer = 1
else
exit function
end if
'Funktionvalg
if valg = "edit" then
else
startgrid()
If Not IsPostBack Then
opstartgrid(sted)
end if
end if
end function
'oversigt
Public function opstartgrid(sted as object) as string
try
AddHandler grid.ItemDataBound, AddressOf grid_start
AddHandler grid.PageIndexChanged, AddressOf grid_side
griddata()
sted.controls.add(grid)
catch t as exception
Data.fejl(t.tostring & " - grid")
end try
End function
Public function griddata() as string
Dim list3 As data.list3 = New data.list3
Dim param as new data.param
dim ds as new dataset
Dim dsudtryk as string
list3.Add("@typeid", "int", typeid)
list3.Add("@portid", "int", portid)
dsudtryk = "SELECT * from kategori1 "
dsudtryk += "WHERE typeid=@typeid "
dsudtryk += "order by katpla; "
param.read(ds,list3,dsudtryk)
if ds.Tables.Count > 0 then
try
if ds.Tables.Item(0).Rows.Count >0
grid.DataSource = ds.Tables.Item(0)
grid.DataBind()
end if
catch t as exception
data.fejl(t.tostring & " - griddata")
end try
end if
End function
Public sub grid_start(sender As Object, e As DataGridItemEventArgs)
try
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
end if
catch t as exception
Data.fejl(t.tostring & " - grid_start")
end try
end sub
Public Sub grid_side(sender As Object, e As DataGridPageChangedEventArgs)
try
grid.CurrentPageIndex = e.NewPageIndex
griddata()
catch t as exception
data.fejl(t.tostring & " - grid_side")
end try
End Sub
Public function startgrid() as string
grid.cssclass="admingrid"
grid.ItemStyle.cssclass="admingridnormal"
grid.AlternatingItemStyle.cssclass="admingridalter"
grid.HeaderStyle.cssclass="admingridheader"
grid.CellPadding = 0
grid.Cellspacing = 0
grid.ShowFooter = false
grid.ShowHeader = true
grid.GridLines = 0
grid.AllowSorting = False
grid.AllowPaging = true
grid.pagesize = 1
grid.PagerStyle.Mode = PagerMode.NumericPages
grid.Pagerstyle.Position = PagerPosition.bottom
grid.PagerStyle.HorizontalAlign=HorizontalAlign.center
grid.autoGenerateColumns = false
Dim kolid As New BoundColumn()
kolid.HeaderText = "katid"
kolid.DataField = "katid"
grid.Columns.AddAt(0, kolid)
kolid.visible = false
Dim kolpla As New BoundColumn()
kolpla.ItemStyle.cssclass="admingridkolplac"
kolpla.HeaderStyle.cssclass="admingridheadercenter"
kolpla.HeaderText = "Plac"
kolpla.DataField = "katpla"
grid.Columns.AddAt(1, kolpla)
kolpla.visible = true
Dim kolnavn As New BoundColumn()
kolnavn.ItemStyle.cssclass="admingridkoltxt"
kolnavn.HeaderStyle.cssclass="admingridheaderleft"
kolnavn.HeaderText = "Navn"
kolnavn.DataField = "katnavn"
grid.Columns.AddAt(2, kolnavn)
kolnavn.visible = true
Dim koledit As New TemplateColumn()
koledit.ItemStyle.cssclass="admingridkoledit"
koledit.HeaderStyle.cssclass="admingridheadercenter"
grid.Columns.AddAt(3, koledit)
koledit.visible = true
Dim kolslet As New TemplateColumn()
kolslet.HeaderStyle.cssclass="admingridheadercenter"
kolslet.ItemStyle.cssclass="admingridkolslet"
grid.Columns.AddAt(4, kolslet)
kolslet.visible = true
end function
'menu
Public function menuoversigt(sted as object, titel as string, navn as string,nummer as integer) as string
Dim aktuel as integer
aktuel = 0
if grup = navn and area=("kat" & nummer) and valg = "" then
aktuel = 1
end if
design.menu(sted,titel & " oversigt","default.aspx?port=" & port & "&grup=" & navn & "&area=kat" & nummer,"_top",aktuel,0)
end function
Public function menuedit(sted as object, titel as string, navn as string,nummer as integer) as string
Dim aktuel as integer
aktuel = 0
if grup = navn and area=("kat" & nummer) and valg = "edit" then
aktuel = 1
end if
design.menu(sted,titel & " opret","default.aspx?port=" & port & "&grup=" & navn & "&area=kat" & nummer & "&valg=edit","_top",aktuel,1)
end function
End class
end namespace
