Avatar billede ha9953 Nybegynder
11. februar 2005 - 13:52 Der er 1 løsning

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
Avatar billede ha9953 Nybegynder
15. februar 2005 - 14:47 #1
øv - ingen der kunne hjælpe - jeg har stadig problemet - men lukker ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester