2009-05-11 5 views
0

私は通常ウェブプログラミングをしますが、私は今作業中のこのプロジェクトではWindowsフォームの要件を持っています。どのようにしてコンボボックスの値を取得できますか?

私は仕事のリストを取得し、コンボボックスをロードするために亜音速を使用してい

JobCollection jobs = new JobCollection().Load(); 
cboJobs.DisplayMember = "Name"; 
cboJobs.ValueMember = "Id"; 
cboJobs.DataSource = jobs; 

ユーザーが項目を選択し、私は仕事「ID」を使用してデータベースを照会する必要があり、検索ボタンをクリックするとフィールド。

TransactionCollection transactions = new TransactionCollection(); 
if (!String.IsNullOrEmpty(txtTransactionId.Text)) 
{ 
    transactions.Where("id", txtTransactionId.Text); 
} 
else 
{ 
    transactions.Where("raw_data", Comparison.Like, "%" + txtFind.Text + "%");  
} 
transactions.Where("job_id", Convert.ToInt32(cboJobs.SelectedItem)); 
transactions.Load(); 

問題が発生している行は、「Convert.ToInt32(cboJobs.SelectedItem)」となるものです。

名前に対してジョブIDを取得するにはどうすればよいですか。

答えて

6

あなたのコンボボックスのSelectedValueプロパティを見たいと思うかもしれません。 ValueMemberをIDに設定すると、SelectedValueに正しい値を含める必要があります。

3

あなたはすでに(良い)回答を得ていますが、とにかくこれを指摘することができます:アプリケーションのコンボボックスで、各項目は実際には完全なJobオブジェクトになります。 1。したがって、SelectedItemプロパティは、ComboBoxで現在選択されているJobオブジェクトを返します。任意のメンバにアクセスするには、ジョブにキャストするだけです。

+0

ありがとう、それは良い答えです。私は仕事にそれを鋳造することについての部分を逃した。ありがとう。 –

関連する問題