2009-09-03 16 views
1

私は、ドロップダウン矢印をクリックしてその内容を読み込むためにデータベースに出るコンボボックスを持っています。ドロップダウンボックスの後にデータが表示されていて、何も選択しないと、コンボボックスの現在の値が吹き飛ばされてしまいます。データをロードするルーチンの中で、現在の値を保存して、読み込みが完了した後に復元しようとしました。動作しません。Windowsフォームコンボボックスの問題

[編集]あなただけのSelectedItemプロパティとして「現在の値」を保存している場合、それはおそらく中に存在する対象ではありません読みやすさ

MyUltraCombo myultracombo = new MyUltraCombo(); 
//MyUltraCombo inherits from UltraCombo inside MyUltraCombo, I keep the table name to load from 
MyUltraCombo.BeforeDropDown += new System.ComponentModel.CancelEventHandler(cb_BeforeDropDown); 
//inside the eventhandler 
myultracombo.Load(); 
//inside the Load method 
datatable = DataUtility.GetAllRecords(tablename); 
combobox.datasource = datatable; 
+0

コードを投稿できますか? – Sesame

+0

MyUltraCombo myultracombo = new MyUltraCombo(); MyUltraComboがMyUltraCombo内部UltraCombo から継承し、私は MyUltraCombo.BeforeDropDown + =新しいSystem.ComponentModel.CancelEventHandler(cb_BeforeDropDown)からロードするために、テーブル名を保ちます。 イベントハンドラー内 myultracombo.Load(); Loadメソッド内の datatable = DataUtility.GetAllRecords(tablename); combobox.datasource = datatable – codemnky

答えて

1

はこちらのコメントからのコードを追加しましたそれは完全に新しいオブジェクトで構成されるため、新しいリストです。あなたがしなければならないことは、現在の値のIDを格納することです(あなたがユニークなIDを持つことができたら幸いです)。そして、同じIDを持つオブジェクトを新しく作成したリストを検索します、おそらくちょうどToString() ...)。

関連する問題