0

在我的 c# (VS2008) 应用程序中,我有 2 个 winform。在 Form1 中,有一个显示“员工”对象列表的 DataGridView。此 datagridview 数据绑定到 EmployeeList BindingSource。在 Form2 中,控件绑定到 Employee bindingsource。

我能够将 Form2 中的 Employee 添加到 Form1 中的 EmployeeList 中。我想要的是每当我在 datagridview 中双击时,Form2 将打开所选的员工数据。然后更新的数据将发送回 Form1 datagridview。但是 datagridview 不是从 Form2 更新的。

这样做的技术是什么。

提前致谢。SK保罗。

4

2 回答 2

0

如果没有任何发布的代码,我们将无法帮助解决任何特定问题,但这是您可以尝试的通用方法:

在 Form1 中

public void UpdateEmployee(Employee emp)
{
   //update whatever info for that employee
}


private void dataGridView1_CellClick(object sender,
    DataGridViewCellEventArgs e)
{
      DataGridViewCell selectedEmployeeCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex]; //Get whatever data you're sending from this to the new form

      Employee tempEmployee = getEmployee(selectedEmployeeCell);

      Form2 updateEmp = new Form2(tempEmployee, this);
      updateEmp.showDialog();
}

在 Form2 中

    public Form2(Employee emp, Form1 parent)
    {
        //blah blah blah
    }

 private void UpdateEmployee(Employee emp)
{
    parent.UpdateEmployee(emp);
}      
于 2012-11-16T18:28:35.873 回答
0

我尽量避免使用带有网格视图的向导数据源。我会手动对网格进行编码,然后使用第一个网格的编辑行中的按钮将 url 中的变量传递给第二个网格。或者在您的情况下,可能是第一个网格的选定行事件。

于 2012-11-16T18:59:35.513 回答