【问题标题】:Pass Value from Form2 ListView to Form1 DataGridView将值从 Form2 ListView 传递到 Form1 DataGridView
【发布时间】:2015-05-19 16:53:00
【问题描述】:

我在 C# 应用程序中有 2 个表单,Form1 是包含 DataGridView 的主表单,列是 AccountCode、AccountName、Amount、Narration。目前用户可以手动输入 AccountCode 并使用 Sql 查询 AccountName 填充相关标题。

现在我正在寻找一种方法,该用户将在 Form2 中搜索 AccountCode,其中包含持有 AccountCodes 和 AccountName 的 ListView,在用户 DoubleClick 或按下 OK 按钮后,将所选值返回到 Form1 DataGridView 中的活动行。 Active Row 是这里的主要关注点,因为查找 Form2 不仅用于输入新记录,还用于更新其他也需要从 Form2 ListView 中查找值的记录。

我知道如何使用委托将 Form2 ListView 之间的值传递给 Form1 TextBoxes,但不知道如何将其传递给 DataGridView 的 Active Row。

寻求专家指导/建议

艾哈迈德

【问题讨论】:

  • 在传递值后,您必须在 form2 加载时触发事件
  • @utility form2是查找表单,Form1是带有DataGridView的主表单,数据需要从Form2传递到Form1
  • form1 应该被触发以刷新自身,否则您无法使用表单查找传递值
  • @utility 问题是如何将值从 Form2 ListView 传递到 Form1 DataGridView 的活动行

标签: c# listview datagridview lookup


【解决方案1】:

在 Form2 中,您可以根据自己的逻辑创建公共属性并为其设置值

 public string SelectedCode { get; set; }

例如,在 Form1 中,您可以访问该公共属性并将值设置为 datagrid

        Form2 frm2 = new Form2();
        frm2.ShowDialog(this);
        dataGridView1.SelectedCells[0].Value = frm2.SelectedCode;

【讨论】:

  • 这既简单又令人惊奇,感谢您的回答。只是 SelectedCell 对我不起作用,我将其替换为 CurrentRow 并使用 Column Name 属性来设置值...非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-02
相关资源
最近更新 更多