Originariamente inviato da alka
Non penso sia un problema di "refresh" e "update". Controlla il codice con cui viene effettuato il caricamento degli elementi e che deve essere nuovamente eseguito (avendo cura, ovviamente, di ricaricare anche tali oggetti con il record aggiuntivo) da invocare quando il form di inserimento/modifica del record è stato chiuso ed ha compiuto il proprio lavoro.
Ciao!
uhm.. ma mi sà che è quello che faccio:
Codice di inserimento nuovo record (form 2)
codice:
OleDbConnection cn = new OleDbConnection(ConfigurationManager.ConnectionStrings["localDb"].ConnectionString);
OleDbCommand cmd = new OleDbCommand("INSERT INTO nazioni (codnazione,descnazione) VALUES (@codice,@descrizione)", cn);
cmd.Parameters.Add("@codice", OleDbType.VarChar, 3);
cmd.Parameters.Add("@descrizione", OleDbType.VarChar, 50);
cmd.Parameters["@codice"].Value = txtCod.Text;
cmd.Parameters["@descrizione"].Value = txtDesc.Text;
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
frmKeyValue = new FormKeyValue();
frmKeyValue.populateList();
this.Close();
Codice prelevamento record (form 1)
codice:
public void populateList()
{
this.Cursor = Cursors.WaitCursor;
lvItems.Enabled = false;
btnNew.Enabled = false;
btnEdit.Enabled = false;
btnSelect.Enabled = false;
btnDelete.Enabled = false;
btnPrint.Enabled = false;
btnExit.Enabled = false;
Application.DoEvents();
cn = new OleDbConnection(ConfigurationManager.ConnectionStrings["localDb"].ConnectionString);
cmd = new OleDbCommand("Select idNazioni,codnazione,descnazione from nazioni order by codnazione asc", cn);
cn.Open();
Application.DoEvents();
reader = cmd.ExecuteReader();
while (reader.Read())
{
ListViewItem lvItem = new ListViewItem(reader[1].ToString());
lvItem.SubItems.Add(reader[2].ToString());
lvItems.Items.Add(lvItem);
}
cn.Close();
cn.Dispose();
this.Cursor = Cursors.Default;
lvItems.Enabled = true;
btnNew.Enabled = true;
btnEdit.Enabled = true;
btnSelect.Enabled = true;
btnDelete.Enabled = true;
btnPrint.Enabled = true;
btnExit.Enabled = true;
Application.DoEvents();
}
dove sbaglio?