2011-02-22 199 views
4


我有一個綁定到XML源的DataGridView。DataGridView單元格編輯

  1. 我在編輯單元格時遇到了問題。單擊單元格變爲選中狀態,編輯時默認會覆蓋它。我的要求說,它應該準備好進行編輯,而不是點擊時選擇。
  2. 我想每當按下'tab'鍵時動態生成一行。

我該如何做到這一點?

回答

2

關於問題1)

你可以試試這個:

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) 
     { 
      this.dataGridView1.CellEnter += new DataGridViewCellEventHandler(myDataGrid_CellEnter); 
     } 
     void myDataGrid_CellEnter(object sender, DataGridViewCellEventArgs e) 
     { 
      if ((this.dataGridView1.Columns[e.ColumnIndex] is DataGridViewTextBoxColumn) || 
       (this.dataGridView1.Columns[e.ColumnIndex] is DataGridViewComboBoxColumn)) 
      { 
       this.dataGridView1.BeginEdit(false); 
      } 
     } 
+0

這個原因爲每次用戶點擊內容時爲'CellEnter'添加一個新的事件處理程序!爲什麼不按照'JonC'的建議簡單地調用'dataGridView1.BeginEdit(false)', –

2

如果我正確理解你想要的,因爲它被點擊的細胞儘快進入編輯模式。這可以通過將DataGridView的EditMode屬性設置爲EditOnEnter來實現。 這使得但是選擇在編輯控件中的文本,所以如果你不想,你可以使用:

dataGridView1_CurrentCellChanged(object sender, EventArgs e) 
{ 
     dataGridView1.BeginEdit(false); 
} 

你能解釋一下你的動態添加的行是什麼意思?

相關問題