2012-11-16 74 views
0

在我的c#(VS2008)應用程序中,我有2個winforms。在Form1中,有一個DataGridView顯示「Employee」對象列表。這個datagridview是綁定到EmployeeList BindingSource的數據。在Form2中,控件綁定到Employee bindingsource。以另一種形式編輯Datagridview行項目(Master-Detail)

我可以將Form2中的Employee添加到Form1中的EmployeeList中。我想要的是每當我在datagridview中雙擊時,Form2將打開選定的員工數據。然後更新的數據將發回到Form1 datagridview。但是,DataGridview不會從Form2更新。

這是什麼技術。

預先感謝。 SKPaul。

+2

向我們展示您迄今爲止所做的工作 – JWiley

回答

0

沒有任何已發佈的代碼,我們將無法幫助任何特定的問題,但是這是通用的,你可以嘗試一下:

在Form1

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

在窗體2

public Form2(Employee emp, Form1 parent) 
    { 
     //blah blah blah 
    } 

private void UpdateEmployee(Employee emp) 
{ 
    parent.UpdateEmployee(emp); 
}  
0

我儘量避免使用具有網格視圖的嚮導數據源。我會手動編寫網格,然後使用第一個網格的編輯行中的按鈕將URL中的變量傳遞到第二個網格。或者在你的情況下,也許是第一個網格的選定行事件。

相關問題