我有2个表单,第一个form4是dataGridView,包含来自数据库的信息,当我单击“新建”按钮时,form5显示了一个公式,我应该填写,然后单击“添加”按钮,最后,结果我得到应该出现在Form4的datagridView中。
那可能吗?
这是我的代码:
private void button2_Click(object sender, EventArgs e)
{
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
SqlCommand sql = new SqlCommand("insert into journal values('" + textBox1.Text + "','" + textBox2.Text + "','" + comboBox2.SelectedItem.ToString() + "','" + comboBox1.SelectedItem.ToString() + "','" + checkBox1.Checked.ToString()+"','"+checkBox2.Checked.ToString()+"');", connection);
int o = sql.ExecuteNonQuery();
MessageBox.Show(o + " Le Fichier journal a ?t? ajout? avec succ?s");
connection.Close();
textBox1.Text = "";
textBox2.Text = "";
if(textBox1.Text ==" ")
{
MessageBox.Show("La saisie du code Journal est obligatoire!!");
}
affich();
}
private void affich()
{
try
{
pat = connectionString;
req = "SELECT * FROM journal";
con = new SqlConnection(pat);
con.Open();
dr = new SqlDataAdapter(req, con);
dr.Fill(ds, "journal");
Form4 Form4 = new Form4();//ceci va creer une nouvelle instance je ne veux pas avoir une nouvelleFen?te
Form4.journalDataGridView.DataSource = ds.Tables["journal"];
Form4.Show();
}
catch (Exception e) { MessageBox.Show("Base de donn?es non trouv?e", e.Message); }
}
和2种形式:
感谢帮助
最佳答案
要求:Form5
中的按钮应将结果添加到DataGridView
中存在的Form4
中,而无需创建Form4
的新实例
在Form4
中,将Modifiers
的journalDataGridView
属性更改为Public
。
需要进行以下更改:
public partial class Form5 : Form
{
Form4 form4;
public Form5(Form4 f4)
{
InitializeComponent();
this.form4 = f4;
}
private void button2_Click(object sender, EventArgs e)
{
...
...
affich();
}
private void affich()
{
try
{
pat = connectionString;
req = "SELECT * FROM journal";
con = new SqlConnection(pat);
con.Open();
dr = new SqlDataAdapter(req, con);
dr.Fill(ds, "journal");
form4.journalDataGridView.DataSource = ds.Tables["journal"];
}
catch (Exception e) {
MessageBox.Show("Base de donn?es non trouv?e", e.Message);
}
}
}
如何从
Form5
创建Form4
实例:在Form4.cs内部:
public partial class Form4 : Form
{
public Form4()
{
InitializeComponent();
}
private void newButton_Click(object sender, EventArgs e)
{
Form5 form5 = new Form5(this);
form5.Show();
}
...
}
或从任何其他父表格:
//must have valid Form4 objForm4
Form5 form5 = new Form5(objForm4);