Ragazzi sto impazzendo con l'update del datagrid!
Vi spiego la sequenza di operazioni:
Clicco sul pulsante modifica.
Il datagrid mi va in editmode.
Modifico il valore.
Clicco sul pulsante update.
A questo punto conitnuo a visualizzare nel datagrid il vecchio valore.
Se ricarico la pagina lo visualizza correttamente, perchè in pratica inserisce il nuovo valore nel database, ma continua a visualizzare quello vecchio finchè non ricarico la pagina.
Spero di essere stato chiaro, vi posto unpò di codice:
Quale l'errore che faccio?codice:'QUESTA E' LA SUB DEL PAGE_LOAD Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Origine() If (Not Me.IsPostBack) Then binda() End If End Sub 'QUESTA E' LA SUB DOVE DEFINISCO LA SORGENTE DEL DATAGRID Sub Origine() Dim conn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("mdb-database/lafer.mdb")) Dim Adapter As New OleDbDataAdapter("SELECT * FROM tab_sup_cat", conn) Dim Adapter2 As New OleDbDataAdapter("Select * from tab_cat", conn) '("Select tabella1.id, tabella2.campofiglio from tabella1,tabella2 where tabella1.Id=tabella2.rif", conn) Dim Adapter3 As New OleDbDataAdapter("Select * from tab_sotto_cat", conn) '("Select tabella2.id, tabella3.campofiglio from tabella2,tabella3 where tabella2.Id=tabella3.rif", conn) Adapter.Fill(ds, "table1") 'sup_cat Adapter2.Fill(ds, "table2") 'cat Adapter3.Fill(ds, "table3") 'sotto_cat Dim Parent As DataColumn Dim Child As DataColumn Parent = ds.Tables("table1").Columns("ID_sup_cat") Child = ds.Tables("table2").Columns("id_sup_cat") Dim dr As DataRelation = New DataRelation("newrelation", Parent, Child, False) ds.Relations.Add(dr) Parent = ds.Tables("table2").Columns("ID_cat") Child = ds.Tables("table3").Columns("id_cat") dr = New DataRelation("newrelation2", Parent, Child, False) ds.Relations.Add(dr) End Sub 'QUESTA E' LA SUB DEL DATABINDING Sub binda() HG1.DataSource = ds HG1.DataMember = "table1" HG1.DataBind() End Sub 'QUESTA E' LA SUB DEL COMANDO EDIT Sub ModificaDataGrid(ByVal sender As Object, ByVal e As DataGridCommandEventArgs) HG1.EditItemIndex = e.Item.ItemIndex binda() End Sub E QUESTA E' LA SUB DEL COMANDO UPDATE Sub AggiornaDataGrid(ByVal sender As Object, ByVal e As DataGridCommandEventArgs) Dim Conn As Data.OleDb.OleDbConnection Dim MySQL3 As String Dim MyCmd As Data.OleDb.OleDbCommand Dim id_sup_cat, nome_sup_cat As String 'ID_sup_cat = CType(e.Item.Cells(0).Controls(0), TextBox).Text id_sup_cat = "12" nome_sup_cat = CType(e.Item.Cells(1).Controls(0), TextBox).Text Conn = New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("mdb-database/lafer.mdb")) Conn.Open() MySQL3 = "UPDATE tab_sup_cat SET nome_sup_cat = '" & nome_sup_cat & "' WHERE ID_sup_cat = " & id_sup_cat MyCmd = New Data.OleDb.OleDbCommand(MySQL3) MyCmd.Connection = Conn MyCmd.ExecuteNonQuery() HG1.EditItemIndex = -1 binda() End Sub
Una volta risolto questo ho bisogno anche di un altro aiutino, inmerito alla sub dell'UPDATE

Rispondi quotando