2009-03-14 9 views
0

私はlinqベースのWindowsプロジェクトを持っています。個人的な身分証明書、タイトル、名前の姓などを保存するフォームがあります。このフォームには、タイトルとdepartmanオブジェクトと1つのテキストボックスを保持する2つのコンボボックス1 listbox.WhenフォームがPersonelクラスでリストボックスを塗りつぶしました。リストボックスの選択されたインデックス変更イベントが発生したら、私はこのPersonelのdepartmanとTitle情報(DBから取得しています)を使ってcomboDepartmanとcomboTitleを埋めたいと思います。私はこのComboBoxesを行ったとき、私はこのPersonelのdepartmanとタイトル情報がWhole DepartmanとTitle Informationではないことを示しています.ComboBoxをWhole departmansとTitlesといっしょに記入すると、selectedindexをpersonelのdepartmanまたはtitleに変更します。コンボボックスLINQ C#

これには簡単な解決策がありますか?

// DepartmanID -1> selectedindexの値がArgumentOutOfRangeExceptionを取得した場合よりも、私のアルゴリズムはこの状況では機能しません。

if (listPersonel.SelectedItem !=null) 
     { 
      Personel p = (Personel)listPersonel.SelectedItem; 
      txtPersonelName.Text = p.PersonelName; 
      txtPersonelNo.Text = p.PersonelNo.ToString(); 
      cmbDepartmant.SelectedIndex = Convert.ToInt32(p.DepartmantID) - 1; 
      cmbTitle.SelectedIndex = Convert.ToInt32(p.TitleID) - 1; 
     } 
+0

動作していないかを説明してください。 –

+0

DepartmanID -1> selectedindexの値がgettin ArgumentOutOfRangeExceptionであるため、私のアルゴリズムがこの状況で動作していません。 –

答えて

1
cmbDepartmant.SelectedValue = Convert.ToInt32(p.DepartmantID)