【发布时间】:2014-03-11 13:39:25
【问题描述】:
我遇到了无法刷新具有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 仍然打开?
提前致谢
【问题讨论】:
-
为什么要在保存按钮中创建
MaintenanceForm的新实例?保存按钮不是AddProducts表单的一部分,在您的情况下,它是MaintenanceForm的子级。
标签: c# forms datagridview