2013-02-14 40 views
-1

我想从弹出窗体接收返回值。 弹出窗体上有一个gridControl需要插入父窗体gridControl中的值。GridControl返回值

我把它叫做弹出的形式:

private void label14_Click(object sender, EventArgs e) 
    { 
     frmSelectInvoice selectInvoice = new frmSelectInvoice(); 
     selectInvoice.ShowDialog();    
    } 

这是弹出的形式来源:

public partial class frmSelectInvoice : DevExpress.XtraEditors.XtraForm 
{ 

    public ValinorEntities valinor; 
    public BindingSource src; 

    public frmSelectInvoice() 
    { 
     InitializeComponent(); 

     using (this.valinor = new ValinorEntities()) 
     { 
      this.valinor = new ValinorEntities(); 
      this.src = new BindingSource(valinor.invoices_head, null); 
      gridControl1.DataSource = src; 
      src.DataSource = valinor.invoices_head; 
     } 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 

     this.Close(); 
    } 
} 

应该是什么,在弹出的形式返回值?

+0

您有几种选择:1,使用性质来传递你有兴趣(定义父窗体属性值 - 在二传手如你愿意,你可以更新您的网格,通父窗体实例添加到弹出窗口并在弹出窗口中根据需要设置属性值)2.定义和使用事件3.在对话框中的OK和Close按钮定义父窗体中的DialogResult值(OK和Cancel有意义)你检查对话框的结果,如果用户点击OK,你可以调用你在对话框中定义的一种方法,它将返回你需要在网格中插入的数据 – AndreiC 2013-02-15 10:18:20

+0

感谢回复 你能写一个笑rt代码中的任何一个?我的问题是数据的类型返回子表单以及它将如何包含在行中。 – user1065131 2013-02-16 13:16:17

回答

0

使用静态类;

public static class MyClass 
{ 
    public static object myValue; 
} 


private void label14_Click(object sender, EventArgs e) 
{ 
    frmSelectInvoice selectInvoice = new frmSelectInvoice(); 
    selectInvoice.ShowDialog(); 
    //Get value before close 
    object value = MyClass.myValue; 
} 



public partial class frmSelectInvoice : DevExpress.XtraEditors.XtraForm 
{ 
    public ValinorEntities valinor; 
    public BindingSource src; 

    public frmSelectInvoice() 
    { 
     InitializeComponent(); 

     using (this.valinor = new ValinorEntities()) 
     { 
      this.valinor = new ValinorEntities(); 
      this.src = new BindingSource(valinor.invoices_head, null); 
      gridControl1.DataSource = src; 
      src.DataSource = valinor.invoices_head; 
     } 
    } 

private void button1_Click(object sender, EventArgs e) 
{ 
    //Set value after close 
    MyClass.myValue = "value"; 
    this.Close();  
} 

}

+0

主要问题是如何将数据插入myValue? 我使用ArrayList? – user1065131 2013-02-14 14:57:08

+0

哪些数据? GridControl数据源? – 2013-02-14 15:15:03

+0

弹出窗体中的Gridcontrol行。 – user1065131 2013-02-15 06:43:56