2012-10-09 31 views
0

我需要在「MouseClick」事件中向DataGridView添加一個新行。我這樣做,但是當我點擊現有的單元格時,也添加了該行。我有另一個處理「CellClick/CellEndEdit」事件的處理程序,「MouseClick」也與他們共同提出。如何避免這種情況?請幫忙解決這個問題。在「MouseClick」事件中在DataGridView中添加新行時出現的問題

謝謝。

CellEndEdit事件:

private void dataGridViewWorks_CellEndEdit(object sender, DataGridViewCellEventArgs e) 
    { 
     FormSelectItem frm = new FormSelectItem(formMain); 
     switch (dataGridViewWorks.Columns[e.ColumnIndex].Name) 
     { 
      case "WorksWORKNAME": 
       //some functions 
       break; 

      case "WorksCATNR": 
       //some functions 
       break; 

      case "WorksQuantity": 

       //some functions 
       break; 
      default: 
       break; 
     } 
    } 

MousClick事件:

private void dataGridViewWorks_MouseClick(object sender, MouseEventArgs e) 
    { 
     if (dataGridViewWorks.Rows.Count == 0) 
     { 
      dataGridViewWorks.Rows.Add(); 
      return; 
     } 
     dataGridViewWorks.Rows.Insert(dataGridViewWorks.Rows.Count); 
     dataGridViewWorks.CurrentCell = dataGridViewWorks.Rows[dataGridViewWorks.Rows.Count - 1].Cells[1]; 
    } 
+0

您可以發佈示例代碼? –

+0

對不起。沒想到這會有用。 – Mervin

回答

1

相反dataGridViewWorks_MouseClick,你可以使用dataGridViewWorks_MouseDoubleClick添加行了一個好主意:)

+0

我想說,這是一個非常好的簡單解決方案。但我的客戶需要MouseClick,而不是DoubleClick:( – Mervin

+0

然後,您需要向dataGridViewWorks_MouseClick中的用戶提問,以確定是要添加新行還是要編輯文本。 – andy

+0

謝謝,我會考慮的。 – Mervin

相關問題