考えられる最も単純な方法で設定されたコンボボックス (cmbStores) を備えた単純な Windows フォームアプリケーション (Access データベースを使用) があります。
問題: 選択した項目の値を取得できません。
このコンボボックスにデータを入力する方法は次のとおりです。
// 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);