【问题标题】:Trasnfer DataGrid data from a close Form从关闭的表单传输数据网格数据
【发布时间】:2017-08-07 20:41:34
【问题描述】:

我有两个 WindowsForms Form1 和 Form2。 Form1 和 Form2 都有 DataGrid。第二个表单是从 SqlCommand 填充的。 Form1 有网格自定义。

这是Form1

public partial class OrderForm : Form
{
    public Form1()
    {
        InitializeComponent();
        Form1Grid.CellDoubleClick += OrderGrid_CellDoubleClick;            
    }

    private void OrderGrid_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
    {
        Form2 f2 = new Form2();
        f2.ShowDialog();
    }
}

这是Form2

public partial class Form2: Form
{

    public ProductsView()
    {
        InitializeComponent();
        Form2Grid.CellMouseDoubleClick += Form2Grid_CellMouseDoubleClick;
    }

    private void Form2Grid_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
    {
     //What code here
        this.Hide();
    }

    private void Form2_Load(object sender, EventArgs e)
    {
        Object prd = new object();
        Form2Grid.DataSource = prd.Read(); // prd.Read() is SqlDataTable that populate the Grid in Form2
    }  
    protected override void OnClosed(EventArgs e)
    {
        this.Dispose();
    }      
}

我想做的是。当我双击 Form1 上的 GridRow 时,使用 SqlCommand 填充打开 Form2,当我双击 Form2 时,该行需要在 form1 中传输并在 form1 上填充所选行并隐藏 form2。这需要重复直到用户结束并做一些无关紧要的事情。最后必须用来自 Form2 的单击行填充 Form1。 只需这个循环 Form1 -> 双击行 -> Form2 -> 双击行 -> 在 Form1 上转移行 -> 隐藏 Form2 并重复用户想要的次数。

如果你需要更多解释,我会做。

【问题讨论】:

  • 与其将您的算法以文本形式发布,如果您尝试编写您正在寻找的代码,人们可能更愿意提供帮助。

标签: c# winforms datagridview


【解决方案1】:

在 Form2 上公开一个包含需要返回的信息的属性(顺便说一句!),然后在 ShowDialog 调用之后从属性中获取数据并在 Form1 中随意使用它。

【讨论】:

    猜你喜欢
    • 2014-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多