簡體   English   中英

DataGridViewComboBox下拉列表不顯示任何要選擇的項目,下拉菜單不起作用

[英]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,並設置DataSourcenull

當我在調試中觀看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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM