2009-07-21 6 views
0

私はデータベースから取り込まれているドロップダウンリストを持っています。それはうまくいきます。コントロールの非選択値は-1で、非選択ラベルは ".."です。編集のために既存のレコードを開こうとすると、正しい行を選択できないようです。 IDには111A-DD-12345の3つの部分があります。レコードがデータベースから返されると、IDは3つのフィールドに解析されます。最初と3番目の部分はページ上のテキストボックスですが、中間部分はドロップダウンリストです。我々は、既存のレコードを開くときに、我々は次のコードでIDを解析:ドロップダウンリストの正しい行を設定できません。

string[] chunks = cID.Split('-'); 
ddOffice.SelectedItem.Text = chunks[1]; 

しかし、これは単にDD(上記の例のIDを使用して)に対するDDLの最初の行を変更するので、我々は、2つで終わります表示されているテキストが同じddlの行プログラムでドロップダウンリストを正しい値に設定するにはどうすればよいですか?

編集:私たちも ddOffice.SelectedValue = chunks [1] を試しましたが、デフォルトの選択されていない行の..が表示されます。

TIA、 テレサ

答えて

1

これを試してみてください:

ddOffice.SelectedIndex = ddOffice.Items.IndexOf(ddOffice.Items.FindByText(chunks[1])); 
+1

私は常に、インデックスの作業がボックスのテキスト値を使用するよりもはるかに信頼できることが分かっています。テキストの処理がうまくいく可能性があります。 – joshlrogers

+0

ありがとう、マシュー!それは完璧に働いた。 – Theresa

0

(編集後)あなたが現在のSelectedItemのTextプロパティを設定するとのSelectedItem自体を設定していません。データのソースに応じて、代わりにSelectedIndexまたはSelectedValueを設定します。

+0

ええ、私は質問を投稿した後にそれを実現しました。 – Theresa

+0

それは常に道ではありません.. – stuartd

関連する問題