2016-10-28 111 views
2

我有一個ComboBox,該項目充滿了我的數據庫中的項目。我試圖獲得在ComboBox中選擇的項目的ID,但我試過的東西似乎沒有工作。獲取在ComboBox中選擇的項目的ID

int id = cbbilar.SelectedIndex + 1; 

這是我擁有它,現在,它的效率非常低,停止工作,如果在數據庫中的第一項被刪除

var cars = (from z in db.Bilar 
      select new { Value = z.Id, Names = z.Marke.Namn + " " + z.Namn }).ToList(); 
cbbilar.DataSource = cars; 
cbbilar.DisplayMember = "Names"; 
cbbilar.ValueMember = "Value"; 
cbbilar.SelectedIndex = 0; 

這是我Combobox代碼。如何取得SelectedItemID

回答

1

您需要使用SelectedValueint.TryParse方法。就像這樣:

int id; 
bool result = int.TryParse(cbbilar.SelectedValue.ToString(), out id); 
+0

你能不能直接將SelectedValue直接轉換爲int,因爲它以int的形式傳入? –

+0

@IanofOz'SelectedValue'屬於'object'類型。 –

+0

這似乎已修復它!非常感謝!我怎麼會這樣寫,而不僅僅是'int id = int.Parse(cbbilar.SelectedValue.ToString());'? –

0

當過,我抓住了SelectedIndex值,我這樣做放置id到另一個DataBase因各種原因。我已經使用TryParse來完成這個任務,但是下面的代碼只是簡單的將它作爲一個字符串拉取,而不是將其作爲一個整數。

string id = combobox.SelectedValue.ToString(); 
0

這是我得到了做:

comboBoxPickupLoc.DataSource = pickupLocationRepo.GetPickupLocations(); 
 
comboBoxPickupLoc.DisplayMember = "LocationName"; 
 
comboBoxPickupLoc.ValueMember = "Id"; 
 
comboBoxPickupLoc.SelectedIndex = -1;

,然後你可以得到的ID值如下圖所示

object value = comboBoxPickupLoc.SelectedValue; 
 
    MessageBox.Show(value.ToString());

謝謝。

相關問題