Archief - ASP.NET: ASP Repeater opsplitsen ?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

orez

Legacy Member
Ok heb dus guestbookje gemaakt, alles werkt perfect enzo, en klaat alles mooi weergeven met een repeater. Nu enkel is mijn vraag van, hoe kan je een repeater doen opsplitsen, dat hij bv toont bovenaan/onderaan Pagina's 1.2.3.4..... en dat hij dan 10 berichten per pagina doet.

Is dit mogelijk? en hoe?

Enja heb mij al zitte zot zoeken erachter.. ma heb nog geeneen deftig zoekresultaat gevonden.

Tnx for the help

orez

Legacy Member
na lang zoeken heb ik dit gevonden: maar echt wijs raak ik er nog ni uit

iemand dit ietwat beter kan ontleden voor mij ? :s


PHP:
Private Sub pInitializeVariables()
        Dim objProd As New clsProducts()
        Dim DS As dpDataSet
        Dim intProductCount As Integer
        Dim strCategoryId As String = G_Request("CatId")
        Dim strConditionId As String = G_Request("CondId")

        If strCategoryId <> "" Then
            DS = objProd.GetAllByCategory(CType(Page, WF_BaseClass).objDataPass, strCategoryId)
        ElseIf strConditionId <> "" Then
            DS = objProd.GetAllByCondition(CType(Page, WF_BaseClass).objDataPass, strConditionId)
        Else
            strCategoryId = "2041"
            DS = objProd.GetAllByCategory(CType(Page, WF_BaseClass).objDataPass, strCategoryId)
        End If


        '*******************
        ' get product count
        '*******************
        intProductCount = DS.ResultDataSet.Tables(0).Rows.Count

        '*******************
        ' set up paging - 25 items max per page
        '*******************
        Dim intPageCount As Integer = Math.Ceiling(intProductCount / 25)
        Dim intLastPageItemCount As Integer = (intProductCount Mod 25)
        Dim intPageNumber As Integer
        Dim intStartRow As Integer
        Dim intMaxRecords As Integer
        Dim x As Integer
        Dim myDS As New DataSet("MyDataset")
        Dim dTable As New DataTable("MyTable")
        Dim dRow As DataRow

        If G_Request("PageNumber") = "" Or G_Request("PageNumber") = "1" Then
            intPageNumber = 1
            intStartRow = 0
        Else
            intPageNumber = CType(G_Request("PageNumber"), Integer)
            intStartRow = ((intPageNumber - 1) * 25)
        End If

        If intPageCount <> intPageNumber Then
            intMaxRecords = 24
        Else
            intMaxRecords = intLastPageItemCount - 1
        End If

        '***************************
        ' populate a dataset with subset of data
        ' based on starting row and max records
        '***************************
        myDS.Tables.Add(dTable)

        For x = 0 To DS.ResultDataSet.Tables(0).Columns.Count - 1
            dTable.Columns.Add(DS.ResultDataSet.Tables(0).Columns(x).ColumnName, DS.ResultDataSet.Tables(0).Columns(x).DataType)
        Next

        Dim y As Integer

        For x = intStartRow To (intStartRow + intMaxRecords)
            dRow = dTable.NewRow
            For y = 0 To dTable.Columns.Count - 1
                dRow(y) = DS.ResultDataSet.Tables(0).Rows(x)(y)
            Next
            dTable.Rows.Add(dRow)
        Next

        '*********************
        ' set up navigation by page number
        '*********************
        lblPaging.Text = ""

        If intPageCount <> 1 Then
            For x = 1 To intPageCount
                If intPageNumber <> x Then

                    If strCategoryId <> "" Then
                        lblPaging.Text += "<a href=""" & mBaseUrl & "?PageNumber=" & x.ToString & "&CatId=" & strCategoryId & """>" & x.ToString & "</a> | "
                    ElseIf strConditionId <> "" Then
                        lblPaging.Text += "<a href=""" & mBaseUrl & "?PageNumber=" & x.ToString & "&CondId=" & strConditionId & """>" & x.ToString & "</a> | "
                    Else
                        lblPaging.Text += "<a href=""" & mBaseUrl & "?PageNumber=" & x.ToString & "&CatId=" & strCategoryId & """>" & x.ToString & "</a> | "
                    End If

                Else
                    lblPaging.Text += intPageNumber.ToString & " | "
                End If
            Next
            lblPaging.Text = lblPaging.Text.Substring(0, lblPaging.Text.Length - 3)
        End If

        '*******************
        ' populate repeater based on display type
        '*******************
        rptList.Visible = False
        rptThumblist.visible = False
        rptThumbrow.visible = False

        Select Case rblDisplay.SelectedItem.Value
            Case "list"
                With rptList
                    .Visible = True
                    .DataSource = myDS.Tables(0).DefaultView
                    .DataBind()
                End With

            Case "thumblist"
                With rptThumblist
                    .Visible = True
                    .DataSource = myDS.Tables(0).DefaultView
                    .DataBind()
                End With

            Case "thumbrows"
                With rptThumbrow
                    .Visible = True
                    .DataSource = myDS.Tables(0).DefaultView
                    .DataBind()
                End With

        End Select

        '*******************
        ' display product count
        '*******************
        lblProductCount.Text = "Products " & (intStartRow + 1).ToString & " - " & (intStartRow + intMaxRecords + 1).ToString & " of " & intProductCount.ToString

    End Sub

Kzou er graag een algemene uitleg over verkrijgen, en geen specifiek voorbeeld zoals dit ? :s Ben er zelf aan bezig proberen te ontleden maar any help is welcome :)

Ik heb dus een dataReader die dbRead noemt (vergelijkbaar met DataSet enkel not Editable)
en een Repeater die drGuestbook noemt.

Ik heb de gegevens [E-mail], Nickname, Titel, Bericht

Met deze info zou ik een paging moeten kunnen opstellen ... enkel weet ik in dit voorbeeld niet waarvoor die G_Request ed... staat

eddy emmer

Legacy Member
Standaard is paging niet ingebouwd in een repeater. Dus je zal inderdaad zelfs iets moeten schrijven, dat een aantal records ophaalt en deze toont. Als je je er gemakkelijk van af wilt maken, kan je een datagrid gebruiken, paging is hier namelijk wel standaard voorzien. Mits een beetje code kan je dit dan ook gemakkelijk gebruiken. Maar dit gaat tenkoste van eenvoud en snelheid, vermits een datagrid altijd alle records ophaalt om dan bv 10 te tonen.

Maw... Schrijf zelf iets om paging te voorzien bij een repeater. Ik heb dit ondertussen toch al enkele keren gedaan en het valt heus wel mee. Kan wel geen code posten atm.

Ik heb de code zelf nog niet bezien, da zal iets voor morgen zijn.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan