从另一个表单刷新datagridview记录

时间:2013-07-04 22:37:02

标签: c# sql select datagridview refresh

我在dataGridView1中有form1但是为了插入其中,我使用了form2,其中有保存按钮(提供插入到datagridview1中),我在其中试图设置 - refreshselect * from所以每当我想要显示所有的回忆时,我都不需要form1中的任何刷新按钮。有没有办法实现这一目标?

非常感谢你的时间。

2 个答案:

答案 0 :(得分:2)

您可以使用委托..例如:

Form1:

private void btnForm1_Click(object sender, System.EventArgs e)
{

// Create an instance of form 2
    Form2 form2 = new Form2();

    // Create an instance of the delegate
    form2.passControl = new Form2.PassControl(PassData);

    // Show form 2
    form2.Show();
}

private void PassData(object sender)
{
    // Set de text of the textbox to the value of the textbox of form 2
    txtForm1.Text = ((TextBox)sender).Text;
}

表格2:

public class Form2 : System.Windows.Forms.Form
{
    // Define delegate
    public delegate void PassControl(object sender);

    // Create instance (null)
    public PassControl passControl;

    private void btnForm2_Click(object sender, System.EventArgs e)
    {
        if (passControl != null)
        {
            passControl(txtForm2);
        {
        this.Hide();
    }
}

我希望这有帮助..

答案 1 :(得分:0)

您可以使用Form.DialogResult来实现此目标。

在您的插入表单中,将数据保存到数据库后:

DbContext.SaveChanges();
MessageBox.Show("Successfully saved.");
DialogResult = System.Windows.Forms.DialogResult.Yes; 

并以您的网格形式:

Frm_NewData newData = new Frm_NewData();
if (newData.ShowDialog() == System.Windows.Forms.DialogResult.Yes)
{
     RefreshGrid();
}