[英]C# Refresh DataGridView with another Form
我无法刷新具有DataGridView
表单时遇到问题。 我打开一个名为MaintenanceForm的表单。 在这里,我将选择一辆车,给出公里数,并添加产品。 如果我单击添加产品按钮,则此表单将保持打开状态,而另一个表单将被称为AddProducts。 在此表单中,我将从将添加到最终列表框中的产品列表中进行选择。 如果单击“保存”,这些项目将转到我的BindingList并填充我的网格。 我已经通过先关闭第一个表单并用第二个表单重新打开进行了测试。 网格已填充。 如何在不关闭第一个表单的情况下填充网格? 这是我正在使用的方法
在第二个表单上保存按钮:
private void btnOpslaan_Click(object sender, EventArgs e)
{
lstTotal = new BindingList<Product>();
foreach (object product in listBtotal.Items)
{
lstTotal.Add((Product)product);
}
MaintenanceForm maintenanceForm = new MaintenanceForm();
maintenanceForm.FillDataGridView(lstTotal);
this.Close();
}
填充网格的方法:
public void FillDataGridView(BindingList<Product> products)
{
dGvProducts.DataSource = null;
dGvProducts.AutoGenerateColumns = false;
dGvProducts.AllowUserToAddRows = false;
dGvProducts.DataSource = products;
dGvProducts.Refresh();
}
再次打开AddProductsForm时,MaintenanceForm仍然打开吗?
提前致谢
感谢用户JDB,我解决了我的问题。
而不是创建一个新实例(感谢Junaith对其进行纠正),我现在正在制作一个LogicalParent方法。
公共AdminForm LogicalParent {get; 组; }
这样,我就可以访问父窗体的所有方法和功能,并且刷新没有问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.