フォームのloadイベントにテーブルコレクションが埋め込まれたdatagridviewを持っています。また、ユーザーが入力したフォームがあり、テーブルonclickイベント、私はテーブルに新しい行を追加した後、datagridviewを更新したい、私はsqladapterバインディングデータソースにバインドを使用します。 、テーブルに新しい行を追加した後にdatagridviewの行リストを更新する方法
これは private void button1_Click(object sender, EventArgs e)
{
connection.Open();
string nv = textBox7.Text.Trim().Replace(',', '.');
//
string sql="";
sql = "INSERT INTO Employe(id_cnss, nom, prenom, adresse, tel,email,mt_heur_travail, titre) VALUES('"+textBox1.Text.ToString().Trim()+"','"+textBox2.Text.ToString().Trim()+"','"+textBox3.Text.ToString().Trim()+"','"+richTextBox1.Text.ToString().Trim()+"','"+textBox4.Text.ToString().Trim()+"','"+textBox5.Text.ToString().Trim()+"',"+nv+",'"+textBox6.Text.Trim()+"')";
// sql = "UPDATE Employe SET id_cnss ='" + + "' , nom ='" + + "', prenom ='" + + "', adresse ='" + + "', tel ='" + + "', email ='" + + "', mt_heur_travail =" + + ", titre ='" + + "' where id_cnss=" + index;
c = new SqlCommand(sql, connection);
c.CommandText = sql;
// IAsyncResult res;
int ex = c.ExecuteNonQuery();
if (ex != null)
{
MessageBox.Show("employé ajouté");
//dataGridView1.Rows.Clear();
//DataTable table = (DataTable)dataGridView1.DataMember;
adapter = new SqlDataAdapter("select * from employe where id_emp=IDENT_CURRENT('EMPLOYE')", connection);
adapter.Fill(dTable);
//adapter.Update(dTable);
dataGridView1.Refresh();
}
connection.Close();
}
このコードはDataGridViewのにテーブルのすべての行を追加したコードですが、私はbrievelyデータベース 、追加の下でユーザーのクリックに追加された最新の行を追加するだけで済みます
私は、新しい行がDataGridViewの に追加されることを好きで、DataGridView
には反映されていないDataTable
への変更の問題は非常に一般的です事前に
あなたの問題が何であるかは不明です。あなたはなぜデータベースからの新しい行がdatagridviewに現れないのか尋ねていますか?または、データベースにdatagridviewに追加された行を追加する方法は?他に何か? –
私は、データベースからの新しい行(追加されたonclickイベント)が、datagridviewに追加されない理由を尋ねています。 adapter.fill(dtable)データベースのすべての行を追加しますが、私は新しい行を追加するだけです – tarek
編集のおかげで - あなたの問題は、2番目のフォームを使ってデータソースに行を追加すると、これらの変更は、.Refresh()コマンドを使用しても反映されますか?私は今あなたが(評判が低いために)コメントすることはできないと思うので、おそらくちょうどあなたの質問を更新してください。これがあなたの問題ならば、解決するのは簡単です。 –