我有一個簡單的Windows窗體應用程序(帶有Access數據庫)與一個組合框(cmbStores),它是以最簡單的方式可以想象的。C# - 獲取Windows窗體應用程序中SelectedItem的值
問題:我無法獲取所選項目的值。
這裏是我正在填充此組合框:
// Variable declaration
string strQueryStores = "SELECT StoreNumber FROM tblStoresAndRegion ORDER BY StoreNumber";
string strConnectionString = UtilityClass.GetConnectionString();
OleDbConnection connStores;
OleDbDataReader readerStores = null;
connStores = new OleDbConnection(strConnectionString);
try
{
connStores.Open();
OleDbCommand sqlGetStores = new OleDbCommand(strQueryStores, connStores);
cmbStore.Items.Clear();
cmbStore.Items.Add("All");
if (connStores != null)
{
readerStores = sqlGetStores.ExecuteReader();
if (readerStores.HasRows)
{
while (readerStores.Read())
{
cmbStore.Items.Add (Convert.ToInt32(readerStores["StoreNumber"]));
}
}
}
cmbStore.SelectedIndex = 0;
}
catch (OleDbException oledblEX)
{
MessageBox.Show(oledblEX.Message);
}
finally
{
if (readerStores != null)
readerStores.Close();
if (connStores != null)
connStores.Close();
}
這是我想獲得所選項目的價值。
int nStoreNumber = Convert.ToInt32(cmbABSM.SelectedItem);
您用來獲取選定項目的代碼在哪裏?你是否遇到異常?值不正確?當您嘗試獲取所選項目時發生了什麼? – Khan 2012-04-25 15:24:20
你的代碼中有一些不一致。填寫_cmdStore_框,並嘗試讀取_cmbABSM_框。這是真的嗎,還是隻是輸錯了? – Matzi 2012-04-25 15:27:28
@Matzi ...我輸錯了。代碼應該是int nStoreNumber = Convert.ToInt32(cmbStore.SelectedItem); – KalC 2012-04-25 15:32:24