【问题标题】:Edit Datagridview row item in another form (Master-Detail)以另一种形式编辑 Datagridview 行项目(主从)
【发布时间】:2012-11-16 18:11:40
【问题描述】:

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

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

这样做的技术是什么。

提前致谢。 SK保罗。

【问题讨论】:

  • 向我们展示你到目前为止所做的事情

标签: c# data-binding


【解决方案1】:

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

在表格 1 中

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);
}      

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-07
      • 2021-08-06
      • 2019-05-30
      • 1970-01-01
      • 1970-01-01
      • 2012-10-23
      • 1970-01-01
      相关资源
      最近更新 更多