- PR -

ComboBoxで

1
投稿者投稿内容
NEO
大ベテラン
会議室デビュー日: 2005/10/02
投稿数: 104
投稿日時: 2006-04-29 10:19
DataSourceを使ったComboBoxのSelectedValueに文字列を代入したら、ArgumentOutOfRangeExceptionが発生するんですが、原因が分かりません。
代入する文字列は、00001や00002などの何の変哲もない値です。

何か分かる方、いませんか?
なおこ(・∀・)
大ベテラン
会議室デビュー日: 2004/04/08
投稿数: 174
お住まい・勤務地: 東京都
投稿日時: 2006-04-29 11:19
お世話になります。

ComboBox の リストの中に無い値を SelectedValue にセットしているからでは?
_________________
なおこ(・∀・) @ わんくま同盟
主婦と.NETと犬の記録
主婦と.NETと犬のぶろぐ
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-04-29 11:32
ArgumentOutOfRangeException
なら、なおこ(・∀・)さんの言うように、値の正当性を疑うのが良いみたいです。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-04-29 13:22
まあ、DataSource に指定している型にも因りますけどね。
例外が OutOfRange なのはちょっと違和感がありますね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
NEO
大ベテラン
会議室デビュー日: 2005/10/02
投稿数: 104
投稿日時: 2006-04-29 13:37
問題のComboBoxは、他のComboBoxの選択値によって、リスト内容が変わる仕様にしています。
(SelectedIndexChangeイベントにてリスト更新)
画面表示時に、データベースから値を取得して、それぞれのComboBoxにセットしています。

SelectedIndexChangeイベント時にも画面表示時にも更新する処理があるのが問題なのでしょうか?
でも、他にもこういった仕組みを使ったComboBoxはあって、こちらはうまくいってるんですが・・・。
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-04-29 14:35
引用:

NEOさんの書き込み (2006-04-29 13:37) より:

(SelectedIndexChangeイベントにてリスト更新)



僕は、イベントハンドラが絡む場合は、System.Diagnostics.Debug.Print を使うこ
とが多いです。
渡している値と、表示された結果で、どのように動いているのかが何となく掴める
かと思われます。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-04-29 16:54
引用:

NEOさんの書き込み (2006-04-29 13:37) より:

問題のComboBoxは、他のComboBoxの選択値によって、リスト内容が変わる仕様にしています。
SelectedIndexChangeイベント時にも画面表示時にも更新する処理があるのが問題なのでしょうか?
でも、他にもこういった仕組みを使ったComboBoxはあって、こちらはうまくいってるんですが・・・。


「問題なのでしょうか?」「同じようなことをしている方はうまくいってる」と言われましても、
隣にいるわけではないのですから、どなたも明確に返答はできかねると思います。
まず、例外が発生する場所を特定する必要があります。

引用:

SelectedIndexChangeイベント時にも画面表示時にも更新する処理があるのが問題なのでしょうか?


と思うのでしたら、初回例外の場所をまず特定しましょう。
現状、犯人の目星もついていないのに、密室トリックを解こうとしているような状況です。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-04-30 10:31
> ArgumentOutOfRangeExceptionが発生するんですが

Exception.Message の内容は、一字一句そのままコピーしてください。
ここに、なぜエラーが発生したのか、書かれています。
1

スキルアップ/キャリアアップ(JOB@IT)