Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    scorrere tutti gli Items tra pagine DATAGRID

    Ciao a tutti.
    sto cercando di scorrere tutti gli elementi del datagrid anche quelli delle pagine non "visibili" all'utente. questo perchè una volta modificati i dati in modalità disconnessa vorrei salvarli, ma purtroppo riesco soltanto a scorrere gli items della pagina corrente del datagrid. ho provato impostare la propr. dg.AllowPaging = False prima di ciclare così:
    codice:
            myUC.dgListino.AllowPaging = False
            Dim iTo As Integer = myUC.dgListino.Items.Count - 1
    
            ' azzero il listino e....
            Sql = Sql & "DELETE FROM Prodotti_Clienti WHERE ClienteID = " & iID & Chr(32)
    
            For i = 0 To iTo Step 1
                ' reinserisco i prodotti nel listino
                sSconto = CType(myUC.dgListino.Items(i).Cells(1).FindControl("lblSconto"), Label).Text
                If sSconto = "" Then
                    sSconto = "null"
                End If
                Sql = Sql & "INSERT INTO Prodotti_Clienti (ProdottoID, ClienteID, Sconto) VALUES (" & myUC.dgListino.Items(i).Cells(4).Text & ", " & iID & ", " & sSconto & ")" & Chr(32)
            Next
    qualche indicazione???
    Ciao!
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

  2. #2

    forse sbagliavo approccio...

    ho risolto ciclando il DATAVIEW (datasource del datagrid) contenuto in sessione...
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

  3. #3

  4. #4
    Originariamente inviato da ZofM
    Ciao, scusa che significa quell'espressione? Ho detto qualcosa che non va? probabile perchè è da poco che mi sto cimentando in .net... dammi pure dei consigli , accetto volentieri critiche...
    avrei una domanda al volo: quando cerco di cancellare il record (unico) della pagina 2 ad esempio ... ottengo il seguente errore:
    Invalid CurrentPageIndex value. It must be >= 0 and < the PageCount.
    capisco perchè ma pensavo fosse gestito dal datagrid, come si può risolvere? grazie , ciao
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

  5. #5
    Ciao, scusa che significa quell'espressione? Ho detto qualcosa che non va? probabile perchè è da poco che mi sto cimentando in .net... dammi pure dei consigli , accetto volentieri critiche...
    L'essere fagiano è solo un modo scherzoso che usiamo noi del forum per indicare qualcuno che ha fatto un errore comune o un qualche errore di "distrazione" (sapessi le fagianate che ho fatto io!! ).

    avrei una domanda al volo: quando cerco di cancellare il record (unico) della pagina 2 ad esempio ... ottengo il seguente errore:
    Invalid CurrentPageIndex value. It must be >= 0 and < the PageCount.
    capisco perchè ma pensavo fosse gestito dal datagrid, come si può risolvere? grazie , ciao
    Basta aggiungere un:
    codice:
    nomeDataGrid.CurrentPageIndex = 0;
    nell'evento Delete.


  6. #6
    grazie, ho risolto aggiungendo questo metodo nella "myBasePage" (per intenderci):
    codice:
            Protected Sub myDataBinderManager(ByRef dg As DataGrid)
                ' gestisce le eccezioni del binding del datagrid
                Try
                    dg.DataBind()
                Catch ex As Exception
                    Dim errMsg As String = ex.Message()
                    If Not (dg.CurrentPageIndex < dg.PageCount) Then
                        dg.CurrentPageIndex = dg.CurrentPageIndex - 1
                        If dg.CurrentPageIndex < 0 Then
                            dg.CurrentPageIndex = 0
                        End If
                        dg.DataBind()
                    End If
                End Try
            End Sub
    poi il DataBind lo eseguo naturalmente così:
    codice:
    ' anzichè dgClienti.DataBind()
    myDataBinderManager(dgClienti)
    è buona anche la tua soluzione, solo che se ad es. sto cancellando l'ultimo record (e unico della pagina) alla pagina 48, successivamente alla cancellazione mi ritroverò alla prima, mentre con la mia soluzione ci si ritroverà alla 47...
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.