- PR -

DataGridViewnのコンボにリスト以外の値を入れてもエラーにしたくない。

投稿者投稿内容
ミキ
常連さん
会議室デビュー日: 2006/01/12
投稿数: 28
投稿日時: 2009-01-29 13:35
お世話になっております。
件名の通りですがDataGridViewn内に配置されたコンボにリスト以外の値をプログラム内でセットするとエラーになってしまいます(というかDataGridViewn外の通常のコンボでもそうですが…)
Accessのコンボでしたらリスト以外の値を入れてもエラーになりませんよね。
方法ありましたら教えてください。
よろしくお願いします。
レイル
常連さん
会議室デビュー日: 2008/10/14
投稿数: 37
投稿日時: 2009-01-29 13:54
選択出来ない値があれば、Exceptionが発生します。
むしろ発生しない場合の方が困りますが・・・。

リストが無かった場合、何をしたいのか不明ですが、
とりあえず、Exceptionが発生しない様にする事は出来ると思います。

コード:
if DropDownList.Items.FindByValue("検索したい値") Is Nothing Then
	値が無かった場合の処理
else
	値が有った場合の処理
endif

if DropDownList.Items.FindByText("検索したい表示している値") Is Nothing Then
	値が無かった場合の処理
else
	値が有った場合の処理
endif




どうでしょうか?
King
ぬし
会議室デビュー日: 2008/06/20
投稿数: 284
投稿日時: 2009-01-29 14:03
これですか?
http://dobon.net/vb/dotnet/datagridview/comboboxdropdownstyle.html

DataGridView 外の ComboBox コントロールは
リスト以外の値が設定できますがいかがでしょうか。

備考:
・DataGridViewn→DataGridView
・どういうエラーが出るのか書いた方が良いです
sasagaki
常連さん
会議室デビュー日: 2008/03/10
投稿数: 20
投稿日時: 2009-01-29 14:29
引用:

件名の通りですがDataGridViewn内に配置されたコンボにリスト以外の値をプログラム内でセットするとエラーになってしまいます(というかDataGridViewn外の通常のコンボでもそうですが…)



もしかして、
コンボのリストをマスタと紐付け、
もしも、マスタに登録されていない値が入っていたら、コンボの表示を空欄にする
というような挙動にしたいのでしょうか?

もしそうであれば
DataErrorイベントを拾ってはいかがでしょうか。
エラーが発生したセルの値を検証し、必要に応じてエラーを無視することができます。
yos
常連さん
会議室デビュー日: 2004/08/24
投稿数: 27
投稿日時: 2009-01-29 14:35
誘導
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1222649487
ミキ
常連さん
会議室デビュー日: 2006/01/12
投稿数: 28
投稿日時: 2009-01-29 16:28
>レイルさん
リストにない場合はコンボに値をセットしないよう考えています。

If DropDownList.Items.FindByValue("検索したい値")  Is Nothing Then

↑この記述はとても使えそう!って思ったのですが、このまま記述しても「DropDownListは宣言されていない」とエラーになります。
DataGridView どこの列なのか指定する必要があるかと思うのですがどう記述したらよいのでしょう。

King
ぬし
会議室デビュー日: 2008/06/20
投稿数: 284
投稿日時: 2009-01-29 16:37
DataGridView は Windows フォーム コントロールです。
DropDownList は Web サーバーコントロールです。

((DataGridViewComboBoxCell)this.dataGridView1.Rows[0].Cells[0]).Items.Contains()
で同じような事が出来ませんか?
レイル
常連さん
会議室デビュー日: 2008/10/14
投稿数: 37
投稿日時: 2009-01-29 16:44
Windowsフォームでしたね。
良く見てなくて申し訳ないです。

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