朋友們,我在我的datagridview中使用datagridviewcomboboxcolumn作爲列索引1。我取從訪問數據庫表中的數據,並通過以下方式填充datagridviewcomboboxcolumn:如何獲取DataGridviewcombobox列的ValueMember的值
for (int i = 0; reader.Read(); i++)
{
cmbBusCode.Items.Add(reader["BUSINESS_CODE"] + "-" + reader["BUSINESS_DESCRIPTION"]);
cmbBusCode.ValueMember = "BUSINESS_CODE";
}
然後我寫這篇文章:
cmbBusCode.DisplayIndex = 1;
cmbBusCode.Width = 200;
cmbBusCode.Name = "Code";
cmbBusCode.HeaderText = "Code";
並加入此列
dgView.Columns.Add(cmbBusCode);
Combobox正在填充,我可以從列表中選擇任何一個。現在,當我保存數據時,我想獲取所選項目的ValueMember。爲了得到這個數值我用下面的代碼,但它給現場的字符串表示「BUSINESS_CODE」不是value..Please幫助我,讓獲得所選項目的ValueMemeber ..
foreach (DataGridViewRow row in dgView.Rows)
{
string cd = row.Cells["Code"].Value.ToString();
}
咦? 'cmbBusCode'是'DataGridViewComboBoxCell'!它的'Items'集合應該包含顯示和可選項目的列表。如果作爲項目傳遞的對象包含與「DisplayMember」和「ValueMember」的值相對應的成員,則會將這些成員的值顯示或分配給基礎數據對象的字段。你的建議是*不值得一試,因爲這不是如何工作... –
@ThorstenDittmar,是的cmbBusCode是DataGridViewComboBoxColumn,我已經使用上述代碼填充。我想獲得列表中選定項目的相應ValueMember ..但我沒有得到.. – Sukanya
你讀過我的答案了嗎?您的項目不包含具有您分配給「ValueMember」屬性的名稱的屬性。閱讀我的答案。給你一個比喻:你可以編寫一個名爲'button_Click'的方法 - 但是,除非你將它分配給一個按鈕的'Click'事件,否則它不會被調用。您沒有獲得價值,因爲您確實將屬性名稱分配給了「ValueMember」,但底層對象中沒有該名稱。 –