توی فرم یک به صورت private اینا رو تعریف کنید:
BindingSource bindingSource = new BindingSource();
توی Load فرم اول، اطلاعات رو لود کنید و نمایش بدین:
OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Database.mdb");
OleDbDataAdapter da = new OleDbDataAdapter("select * from phon", con);
DataTable dt = new DataTable();
da.Fill(dt);
bindingSource.DataSource = dt;
dataGridView1.DataSource = bindingSource;
توی فرم دوم این مشخصه رو اضافه کنید:
public BindingSource BindingSource
{
get;
set;
}
توی دکمه Add در فرم دوم، اول داده رو درج کنید:
OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Database.mdb");
con.Open();
string s = "insert into Phon(F_name,L_name)values('"+textBox1.Text+"','"+t extBox2.Text+"')";
OleDbCommand addq = new OleDbCommand(s,con);
addq.ExecuteNonQuery();
و DataSource مربوط به BindingSource رو آپدیت کنید( ادامه کد قبل):
OleDbDataAdapter da = new OleDbDataAdapter("select * from phon", con);
DataTable dt = new DataTable();
da.Fill(dt);
BindingSource.DataSource = dt;
con.Close()
و توی فرم 1 جایی که قرار فرم 2 نمایش داده بشه:
Form2 form2 = new Form2();
form2.BindingSource = bindingSource;
form2.Show();
البته از اونجایی که شما فرم 2 رو در حالت ShowDialog نمایش نمیدی و میخوای هم زمان با اضافه شدن رکورد در فرم 2، فرم 1 هم آپدیت بشه، این کد بعد از هر بار اضافه کردن رکورد یک Select میزنه تا لیست رو در بیاره که روش چندان جالبی نیست.ولی همین اگر کار کرد بگو میشه بهترش کرد.