更新DataGridView中的值

时间:2018-02-06 12:23:01

标签: c# datagridview

我想直接从SQL服务器更新DataGridView中的值,而不是使用类。要更新,我通过更新按钮

将form1实例发送到form2
private void BtnUpdate_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2(this);
    form2.visible = true;
}

在form2中,如果可能,如何使form1实例可用于更新方法?

public partial class form2: Form
{
     Form1 form1 = null;

     public form2(Form1 form1)
    {
        InitializeComponent();

    }

    private void form2_Load(object sender, EventArgs e)
    {
     // create update options list
    }

    private void CheckOpions(object sender, EventArgs e)
    {
        if (column1.checked){UpdateMethod1();}
        if (column2.checked){UpdateMethod2();}
    }

    public void UpdateMethod1()
    {

    }

    public void UpdateMethod2()
    {

    }
}

1 个答案:

答案 0 :(得分:0)

搞定了。我对Form1做了一个更改。从Form1_Load()中取出所有代码并创建从Form1_Load()调用的新方法。

public Form1()
{
InitializeComponent();
}

public void Form1_Load()
{
    LoadDGV();
}


public void LoadDGV()
{
//create and populate DGV
//Count columns first, prevents existing columns being duplicated and left 
//blank after updates
}

private void Update_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2(this);
form2.Show();
}

在Form2中

Private Form1 form1a = null;

public Form2(Form1 form1)
{
InitializeComponent();
form1a = form1 as Form1;
} 

private void Form2_Load(object sender, EventArgs e)
{
//create selection form for form1
}

private void CheckOptions(object sender, EventArgs e)
{
//check which column(s) selected to update
}

private void Update_Click(object sender, EventArgs e)
{
//update columns (tables) as selected
form1a.LoadDGV();
this.Close();
}

Form2关闭,更新的数据显示在Form1上的DGV中。