2013-05-28 67 views
2

我有一個WINDOWS應用程序。在這裏我有一個有datagridview的窗體。 現在我正在數據庫中填入EMPLOYEE MASTER的datagridview。所以當datagrid被填充時,我也有2個額外的按鈕作爲datagrid中的其他2個cloumns。那些現在是編輯& DELETE因此數據網格中的每一行都有這些按鈕。現在我想添加適當的編輯和刪除功能點擊這些按鈕。編輯一個新的表單應該打開。擁有所有的信息特定的員工。 請幫助在包含在datagridview列中的按鈕上添加事件

這裏是代碼:

private void frmemployee_Load(object sender, EventArgs e) 
     { 
      cmd.Connection = con; 
      con.Open(); 
      adp = new SqlDataAdapter(cmd); 
      cmd.CommandText = "Select * from employee"; 
      adp.Fill(dsemployee,"employee"); 
      dataGridView1.DataSource = null; 
      dataGridView1.Rows.Clear(); 
      dataGridView1.DataSource = dsemployee.Tables[0]; 
      dataGridView1.Columns[0].Visible = false; 
      DataGridViewButtonColumn editcolumn = new DataGridViewButtonColumn(); 
      editcolumn.UseColumnTextForButtonValue = true; 
      editcolumn.Text = "EDIT"; 
      editcolumn.Name = "EDIT"; 
      editcolumn.DataPropertyName = "EDIT"; 
      editcolumn.HeaderText = "EDIT"; 
      dataGridView1.Columns.Add(editcolumn); 

      cmd.ExecuteNonQuery(); 
      con.Close(); 

     } 

回答

0

我會處理,在DataGridViewCellClick事件:

private void GridCellClick(object sender, DataGridViewCellEventArgs e) 
{ 
    if (e.RowIndex < 0 || e.ColumnIndex < 0) 
    { 
     return; 
    } 

    if (dataGridView1.Columns[e.ColumnIndex].Name == "EDIT") 
    { 
     //edit logic here 
    } 
    else if (dataGridView1.Columns[e.ColumnIndex].Name == "DELETE") 
    { 
     //delete logic here 
    } 
} 
0

繼續使用gzaxx'x答案,在邏輯部分中,您可以將選定錶行的主鍵從當前表單傳遞到新表單。假設它是在第一列中的一個整數,則可以寫出這樣的事情

私人無效GridView1_CellContentClick(對象發件人,DataGridViewCellEventArgs E)

{

INT prim_key =(int)的dataGridView1.Rows [e.RowIndex] .Cells [0]。價值;

//打開那麼新的形式,要修改在並通過主鍵

窗體2 F2 =新窗體2(prim_key);

f2.ShowDialog();

}

在窗口2使用構造函數來接受這個值,你可以從數據庫中

公共窗體2填充表單(INT primkey){}

相關問題