Visualizzazione dei risultati da 1 a 4 su 4

Discussione: ASP.NET Datagrid

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    20

    ASP.NET Datagrid

    Ho una pagina che visualizza in un datagrid i record di una tabella, ho implementato delle funzioni di inserimento eliminazione e modifica dei record. La paginazione del datagrid funziona bene, ma quando inserisco un nuovo record (che viene accodato nel datagrid) vorrei visualizzare l'ultima pagina del datagrid. Qualcuno potrebbe darmi un suggerimento?
    Questa è una parte del codice della mia pagina:

    sub submit(obj as object, e as eventargs)
    ....eseguo lo statment di inserimento.......
    MyDataGrid.VirtualItemCount = 0
    MyDataGrid.CurrentPageIndex=MyDataGrid.PageCount - 1
    viewstate("start_index")=MyDataGrid.PageCount - 1
    binddata()
    end sub

    sub binddata(Optional EditIndex as integer = -1)
    Dim DS As DataSet
    Dim MyCommand As OleDbDataAdapter
    dim quanti as integer
    con.Open()
    if MyDataGrid.VirtualItemCount =0 then
    Dim myCommand2 As New OleDbCommand("select count(*) from Users", con)
    quanti=mycommand2.executeScalar()
    MyDataGrid.VirtualItemCount = quanti
    else
    quanti=MyDataGrid.VirtualItemCount
    end if

    MyCommand = New OleDbDataAdapter("select * from Users", con)
    DS = new DataSet()
    '************************************************* **********
    '************************************************* **********
    'PAGINAZIONE MANUALE

    MyCommand.Fill(ds,(viewstate("start_index")*3),3, "Users")
    '************************************************* **********
    '************************************************* **********
    dim source as dataview=ds.Tables("Users").DefaultView
    MyDataGrid.DataSource=source
    if EditIndex <> (-1)
    MyDataGrid.EditItemIndex = viewstate("riga")
    else
    MyDataGrid.EditItemIndex = -1
    end if
    MyDataGrid.DataBind()

    con.close()

    lblMessage.Text = "Pagina " & MyDataGrid.CurrentPageIndex+1 & _
    " di " & MyDataGrid.PageCount & _
    ". Record presenti=" & quanti
    End Sub

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    20
    però .... mi raccomando ... non mi rispondete tutti insieme!!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    Il numero totale delle pagine lo ricavi con la proprietà PageCount, quindi l'indice dell'ultima pagina è uguale a NomeDataGrid.PageCount - 1.

    Hey hey, my my Rock and roll can never die!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    20
    questo lo sapevo, ma ci deve essere un errore nel codice, dopo aver inserito il nuovo record setto il VirtualItemCount a 0 poi imposto a true una variabile booleana (blnInserisci), quindi chiamo questa sub:
    sub binddata(Optional EditIndex as integer = -1)
    Dim DS As DataSet

    Dim MyCommand As OleDbDataAdapter
    dim quanti as integer
    con.Open()
    response.write (MyDataGrid.VirtualItemCount)
    if MyDataGrid.VirtualItemCount =0 then
    Dim myCommand2 As New OleDbCommand("select count(*) from Users", con)
    quanti=mycommand2.executeScalar() MyDataGrid.VirtualItemCount = quanti
    else
    quanti=MyDataGrid.VirtualItemCount
    end if

    MyCommand = New OleDbDataAdapter("select * from Users order by UserId", con)
    DS = new DataSet()
    '************************************************* **********
    '************************************************* **********
    'PAGINAZIONE MANUALE

    MyCommand.Fill(ds,(viewstate("start_index")*3),3, "Users")
    '************************************************* **********
    '************************************************* **********
    dim source as dataview=ds.Tables("Users").DefaultView
    MyDataGrid.DataSource=source

    if EditIndex <> (-1)

    MyDataGrid.EditItemIndex = viewstate("riga")
    else

    MyDataGrid.EditItemIndex = -1
    end if

    MyDataGrid.DataBind()


    con.close()
    if blnInserisci then
    MyDataGrid.CurrentPageIndex=MyDataGrid.PageCount - 1
    viewstate("start_index")=MyDataGrid.PageCount - 1
    blnInserisci = false
    end if
    lblMessage.Text = "Pagina " & MyDataGrid.CurrentPageIndex+1 & _
    " di " & MyDataGrid.PageCount & _
    ". Record presenti=" & quanti
    End Sub

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.