2013-02-14 95 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