ドロップダウンリストに設定されている値の検索

解決


みっち  2008-09-19 07:19:10  No: 140469  IP: 192.*.*.*

こんにちは。
vb.net2003でweb開発をしています。

以下のように、ドロップダウンリストを作成します。

DDList.DataSource = DDListDT          
DDList.DataTextField = "NAME"         
DDList.DataValueField = "CODE"        
DDList.DataBind()                      

次に、別途取得してきたコードと一致するドロップダウンリストの
値を表示させます。

DDList.SelectedValue = strCode

このとき、DDListのValueに、strCodeのコードがないとエラーになって
しまうので、事前にDDListのValueに、strCodeのコードがあるかを
チェックしたいのですが、どのようにすればよろしいでしょうか?
ご教授願います。

編集 削除
我龍院  2008-09-19 08:20:14  No: 140470  IP: 192.*.*.*

strCodeと言うからには文字列なんでしょうね、
 If Not strCode = String.Empty Then
というのが先ず頭に浮かびますが、strCodeが
間違っている場合も考えて、とりあえず
        Try
            DDList.SelectedValue = strCode
        Catch ex As Exception
            '何か表示  or Return
        End Try
とエラーと例外処理をしましょう。

編集 削除
みっち  2008-09-19 09:34:39  No: 140471  IP: 192.*.*.*

我龍院さん、ありがとうございます。

If Not strCode = String.Empty Then
のチェックはしてます。
ちなみにstrCodeには"1000"などのコード値が入ってます。

たとえば、ドロップダウンリストのリストに"1000"が入っていないか?
などの判定は出来ないのでしょうか?

編集 削除
 2008-09-19 11:24:26  No: 140472  IP: 192.*.*.*

横から失礼して…
>たとえば、ドロップダウンリストのリストに"1000"が入っていないか?
>などの判定は出来ないのでしょうか?
できますよ
ただ単に「あるかどうか」だけでいいなら
        For Each obj As Object In ComboBox1.Items
            If obj.ToString = "1000" Then
                MessageBox.Show("1000 Exists")
                Exit For
            End If
        Next
みたいな感じ
1000があるIndexまで知りたいなら
        For i As Integer = 0 To ComboBox1.Items.Count - 1
            If ComboBox1.Items(i).ToString = "1000" Then
                MessageBox.Show("1000 exists in " & i.ToString)
                Exit For
            End If
        Next
みたいな感じかな
ちと泥臭い感じかもしれないけど(汗

編集 削除
魔界の仮面弁士  2008-09-19 11:41:06  No: 140473  IP: 192.*.*.*

DDListDT というのが、DataTable の事なのであれば、
DataView で RowFilter をかけて、Count が 0 かどうか見れば OK。

また、その DataTable の主キーが CODE 列なのであれば、
.Rows.Find して、戻り値が Nothing かどうかを見ると効率が良いかな。

編集 削除
 2008-09-19 13:29:00  No: 140474  IP: 192.*.*.*

あ゛…ゴメンナサイ
ASPだった…私の書き込みは忘れてください

編集 削除
みっち  2008-09-21 07:52:25  No: 140475  IP: 192.*.*.*

.Rows.Findで思うような処理になりました。
魔界の仮面弁士さん、あさん、大変ありがとうございました。

編集 削除