0
我有一個datagridview
displayng產品表,一切正常工作,插入,更新和刪除。但dgv
只會更新,如果我點擊它。我怎樣才能使它在加載時更新,並且在點擊插入,刪除和更新按鈕後?如何在插入和加載後刷新datagridview?
DGV進入方法:
// this is where i call the select method in the main form
private void dataGridView1_Enter(object sender, EventArgs e)
{
// sisDBADM is the class that holds all the sql querys
sisDBADM obj = new sisDBADM();
dataGridView1.DataSource = obj.ListaGrid();
}
public DataTable ListaGrid()
{
vsql = "SELECT NOME , PRECO FROM menu";
NpgsqlCommand objcmd = null;
if (this.conectar())
{
try
{
objcmd = new NpgsqlCommand(vsql, con);
NpgsqlDataAdapter adp = new NpgsqlDataAdapter(objcmd);
DataTable dt = new DataTable();
adp.Fill(dt);
return dt;
}
catch (NpgsqlException e)
{
throw e;
}
finally
{
this.desconectar();
}
}
else
{
return null;
}
}
插入方法:
public bool Insert(ArrayList p_arrInsert)
{
vsql = "INSERT INTO menu(nome,preco)" + "VALUES(@nome,@preco)";
NpgsqlCommand objcmd = null;
// conection try/catch adding the parameters
if (this.conectar())
{
objcmd = new NpgsqlCommand(vsql, con);
objcmd.Parameters.Add(new NpgsqlParameter("@nome", p_arrInsert[0]));
objcmd.Parameters.Add(new NpgsqlParameter("@preco", p_arrInsert[1]));
objcmd.ExecuteNonQuery();
return true;
}
else
{
return false;
}
}
一些偏離主題的指針:在代碼中使用自動格式化,如果在'else'分支中只有(或僅接近)'return'語句的'if' /'else'語句,則還原條件從'如果(條件){}其他{返回; }'if'(!condition){return ; } ;'。這可以大大減少縮進並提高代碼的可讀性。 –
MarthyM