2015-12-01 25 views
0

我想在我的DataGridView中添加以下功能,使其可以選擇兩個或多個單元格並刪除它們的內容(也許右鍵單擊然後選擇刪除)。目前我執行的單元格值更改事件是:C#如何同時選擇和刪除兩個單元格的內容?

private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) 
    { 
     double currentCellValue; 
     string PinInGrid = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(); 
     if (!double.TryParse(PinInGrid, out currentCellValue)) 
     { 
      MessageBox.Show("Incorrect input!"); 
      DataTable dt = this.dataGridView1.DataSource as DataTable; 
      dt.RejectChanges(); 
      return; 
     } 
    } 

這可能嗎?

回答

1

這可能更適合作爲評論,但我沒有足夠的權限。刪除多個單元格的內容可以實現這樣的:

private void dgvItems_KeyDown(object sender, KeyEventArgs e) 
    { 
     var dgv = (DataGridView)sender; 

     if(e.KeyCode == Keys.Delete) 
     { 
      foreach(DataGridViewCell cell in dgv.SelectedCells) 
      { 
       if (!cell.ReadOnly) 
       { 
        cell.Value = ""; 
       } 
      } 
     } 
    } 

這是通過選擇任意數量的小區,然後按「刪除」觸發,但觸發器可以是你喜歡的東西。根據您單元格的數據類型,您可能需要更改cell.Value = ""行。

請參閱this question以實現具有刪除選項的右鍵單擊上下文菜單。

相關問題