0

ListBox をいくつかのデータにバインドしました。

問題は、myTableAdapter.Fill(..) メソッドを呼び出すと、SelectedValue がリストの最初の項目 ID に変更されることです。VS の「選択された値」はどこにもバインドされていませんが (画像を参照)。 代替テキスト http://img370.imageshack.us/img370/2548/ss20090108212745qz2.png

この動作を防ぐにはどうすればよいですか?

助けてくれてありがとう。

4

2 に答える 2

1

各リクエストを拘束するべきではありません。何らかの理由で各リクエストにバインドする必要がある場合は、手動で ListBox に SelectedIndex を設定する必要があります。これは、Fill メソッドが最初にリストをクリアしてから、フェッチしたデータの新しいリスト項目を作成するためです。

于 2009-08-17T16:40:55.183 に答える
1

私が考えることができる最も簡単な方法は、テーブル アダプターの塗りつぶしコードを次のように変更することです。

string preSelected = myDropDownList.SelectedValue;
myTableAdapter.Fill(myDataTable);
myDropDownList.SelectedValue = preSelected;

アイテムがもう存在しない場合は問題が発生するため、それを確認する条件を追加することをお勧めします。

于 2009-08-17T16:50:26.710 に答える