Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Aggiornare il DataGrid

  1. #1

    Aggiornare il DataGrid

    ciao,
    ho fatto la gestione dei prodotti, però ho notato che il DataGrid non si aggiorna finchè non ricarico la pagina. Come devo fare per farla aggiornare in automatico? cioè appena cancello un record o lo aggiorno?


    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    236

    devi rifare il

    databind sul datagrid quando fai un cambiamento/aggiornamento

    koning

  3. #3
    ok per la cancellazione funziona, però quando io faccio un Update questo non va.

    Praticamente l'update la faccio in un altra pagina update.aspx poi una volta finito di modifcare i dati faccio il redirect sulla pagina dove ho il datagrid però i dati non mi vengo aggiornati.

    da che dipende?

    Sub Page_Load(Sender As Object, E As EventArgs)
    if not page.ispostback then
    MyDataGrid.VirtualItemCount = 0
    binddata()
    end if
    end sub

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    236

    puoi postare l'update??

    verifica che l'update faccia veramente quello che deve...

    ps...tu usi gli oggetti dataadapter e dataset presenti sull'editor di VB.NET oppure li scrivi da codice??

    koning

  5. #5
    codice:
    Sub Aggiorna_Dati(Sender As Object, E As EventArgs)
       Dim objCmd as new OleDbCommand(Query_Aggiorna_Dati(Request.QueryString("codice")) , objConn)
       objConn.Open
       try
    	objCmd.ExecuteNonQuery()
    	lblmessage.text="Aggiornato"
    	response.redirect("lista.aspx")
       catch ex as exception
    	lblmessage.text="ERRORE"
       end try
      objConn.Close   
    End Sub
    
    function Query_Aggiorna_Dati(ByVal cod as string) as string
       return "UPDATE Prodotti SET Codice='"& Codice.Text &"', Titolo='"& Titolo.Text &"', Prezzo='"& Prezzo.Text &"', Img='prova.jpg', Categoria='"& Categoria.items(Categoria.SelectedIndex).Value &"', Disciplina='"& Disciplina.items(Disciplina.SelectedIndex).Value &"' WHERE Codice='"& cod &"' "	end function

    ad aggiornare aggiorna soltanto devo fare il refresh per vedere l'aggiornamento.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    236

    secondo me

    dovresti provare a riaggiornare anche il dataset oltre che il datagrid....

    spero che la soluzione sia quella, perchè adesso sono un pò cotto e non riesco a pensare ad altre soluzioni

    koning

  7. #7
    squesto è il mio 2° giorno di .NET,

    perciò spiegami come farei a riaggiornare il DataSet.


    grazie

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    236

    ok...

    questa funzioncina la uso per ricaricare i datagrid quando faccio qualsiasi cos che lo riguarda

    Public Sub ricarica(ByVal str As String, ByVal griglia As DataGrid)
    Dim DS As New DataSet()
    Dim sqlConnection1 As New SqlConnection(string_conn)
    Dim sqlAdapter1 As New SqlDataAdapter(string, sqlConnection1)
    Dim tabella As New DataSet()
    sqlAdapter1.Fill(DS)
    GetData = tabella
    sqlConnection1.Close()
    griglia.DataSource = DS.Tables(0).DefaultView
    griglia.DataBind()
    End Sub

    ds è il tuo dataset; se tu hai già disponibili questi oggetti, ovviamente è inutile ricaricarli

    koning

  9. #9
    io faccio la stessa cosa:

    codice:
    Sub Page_Load(Sender As Object, E As EventArgs) 
       if not page.ispostback then
    	MyDataGrid.VirtualItemCount = 0
    	binddata()
       end if
    end sub
    
    sub binddata()
       Dim DS As DataSet
    
       Dim MyCommand As OleDbDataAdapter
       dim quanti as integer
       
       objConn.Open()
    	
       if MyDataGrid.VirtualItemCount =0 then
          Dim myCommand2 As New OleDbCommand("select count(*) from Prodotti", objConn)
          quanti=mycommand2.executeScalar()
          MyDataGrid.VirtualItemCount = quanti
       else
          quanti=MyDataGrid.VirtualItemCount
       end if
    
       MyCommand = New OleDbDataAdapter("select codice,titolo,prezzo,disciplina,categoria from Prodotti", objConn)
    
       DS = new DataSet()
       MyCommand.Fill(ds,(start_index*20),20, "Prodotti")
       dim source as dataview=ds.Tables("Prodotti").DefaultView
       MyDataGrid.DataSource=source
       MyDataGrid.DataBind()
       objConn.close()
    		
       lblMessage.Text = "Pagina " & MyDataGrid.CurrentPageIndex+1 & _
             " di " & MyDataGrid.PageCount & _
    	 ". Record presenti=" & quanti
    End Sub
    però il problema rimane, quando dalle pagine insert.aspx e update.aspx vengo rediretto sulla pagina lista.aspx i record che sono visualizzati non sono aggiornati fichè non faccio il refresh.

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.