我想直接从SQL服务器更新DataGridView中的值,而不是使用类。要更新,我通过更新按钮
将form1实例发送到form2private 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()
{
}
}
答案 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中。