2015-09-10 15 views
0

我必須從datagridview列中的下拉列表中手動選擇項目,但問題出在選擇需要多次單擊下拉列表的項目時。在datagridview列中選擇下拉列表項

如何解決這個問題?任何幫助將不勝感激。

DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn(); 
cmb.HeaderText = "Data"; 
cmb.Name = "cmb"; 
dgv2.Columns.Add(cmb); 
+0

請發表您的代碼的相關部分。 – varocarbas

+0

DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn(); cmb.HeaderText =「Data」; cmb.Name =「cmb」; dgv2.Columns.Add(cmb); – AnCh

+0

謝謝(雖然下次你可能更喜歡自己更新你的問題)。此代碼很好,但不提供太多信息。您抱怨必須多次點擊以選擇組合框中的給定項目。提供有助於理解這種情況的代碼和/或信息(而不是提供的代碼)。 – varocarbas

回答

0

設置DataGridViewEditOnEnterEditMode屬性:link

DataGridView.EditMode - 獲取或設置指示如何開始編輯單元格的值。

EditOnEnter - 當細胞獲得焦點時編輯開始。

+0

非常感謝! :-) – AnCh

+0

@AnCh歡迎並歡迎來到SO :) – Webruster

0

在下面的代碼必須被紮成的datagridview的CellClick事件:

private void datagridview_CellClick(object sender, DataGridViewCellEventArgs e) 
    { 
     bool validRow = (e.RowIndex != -1); //Make sure the clicked row isn't the header. 
     var datagridview = sender as DataGridView; 

     // Check to make sure the cell clicked is the cell containing the combobox 
     if(datagridview.Columns[e.ColumnIndex] is DataGridViewComboBoxColumn && validRow) 
     { 
      datagridview.BeginEdit(true); 
      ((ComboBox)datagridview.EditingControl).DroppedDown = true; 
     } 
    } 
  • 嘗試EditMode屬性設置爲EditOnEnter。 我希望這有助於!
  • +0

    EditMode屬性在我的情況下工作! – AnCh