[英]DataGridViewComboBox drop down list does not show any items for selection, drop down doesn't work
在一個DataGrid
,我有一個DataGridViewComboBoxColumn
。 我已經在代碼中將DataTable
分配為DataSource
,items,value成員和display成員,但是當我運行程序時ComboBox
顯示為空。下拉列表根本不起作用。
但是,它確實正確分配了值,這表明DataSource
已正確設置。即,當我分配一個值時,它將獲取正確的顯示成員。
我已經根據其他相關文章嘗試過的操作-使用List
代替DataTable
[原理完全相同]-使用enum
代替DataTable
[效果還不錯]-通過BindingSource
使用DataTable
對象-檢查“只讀” =否所有行,列,單元格。 -作為預防措施,在cell_enter
函數上為特定列分配“只讀” = false,並設置DataSource
為null
。
當我在調試中觀看DataGridViewComboBoxCell
[或列]時,我看到項目已被填充。 我真的沒有主意,不勝感激。 我粘貼了一些代碼片段(如果有幫助的話)
DataTable data = new DataTable();
data.Columns.Add(new DataColumn("Value", typeof(string)));
data.Columns.Add(new DataColumn("Description", typeof(string)));
data.Rows.Add("en_US", "English-US");
data.Rows.Add("de", "german-Germany");
(patientGrid.Columns[5] as DataGridViewComboBoxColumn).Items.Add("English-US");
(patientGrid.Columns[5] as DataGridViewComboBoxColumn).Items.Add("german-Germany");
(patientGrid.Columns[5] as DataGridViewComboBoxColumn).ValueType = typeof(string);
(patientGrid.Columns[5] as DataGridViewComboBoxColumn).DataSource = data;
(patientGrid.Columns[5] as DataGridViewComboBoxColumn).ValueMember = "Value";
(patientGrid.Columns[5] as DataGridViewComboBoxColumn).DisplayMember = "Description";
//setting value
(patientGrid.Rows[rowIndex].Cells[5] as DataGridViewComboBoxCell).Value =
clientLanguagePreference[cmbClients.SelectedItem.ToString()];
添加:PatientGrid.Rows [rowIndex] .Cells [5] .ReadOnly = false;
在Designer中,單擊小箭頭(右上角),然后單擊“編輯列”。 選擇ComboBox並將“只讀”字段設置為false
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.