- PR -

(ASP.NET2.0+Oracle)リストボックスのSelectedIndexの値が0のまま

1
投稿者投稿内容
kawauso
会議室デビュー日: 2006/06/08
投稿数: 6
投稿日時: 2006-06-08 18:48
いつもためになる情報を拝見しております。
今回初書き込みです。
失礼な点などありましたらご指摘ください。

現在、ASP.NET2.0とOracle9iを使用したWEBアプリを開発しているのですが、
データバインド(OracleDBの値)して表示したリストボックスの選択行の値を
参照しようとしたところ、該当のリストボックスのSelectedIndexが
0になってしまい選択行の値がそのまま取得できずに困っています。

独自に調査したところ、
・データセットにセットするデータのSQLにWHERE文が無い状態でデータバインドした
 リストボックスの場合は、正しく取得できる

というところまで調査できました。

そもそもこういった仕様のものなのでしょうか?

※つくりの手順
1.リストボックスの元ネタのデータセット取得
 (必要な条件をwhereで指定し、データセットに代入)
2.リストボックスにデータバインド
3.表示後、リストボックスを選択し、別途設けたボタンをクリック。
4.ボタンクリックイベントでSelectedIndex の値を確認すると、0が代入されている・・

Viewstateなどは触っておらず、デフォルトのままです。

※開発環境
VS2005(VB2005 + asp.net2.0)
Oracel9i
ODP.NET(9.0.2.0.4.01)
WinXP SP2
(WEBエンジンはVS2005デバッグ環境です)

似たような現象が発生された方やSQLServerなどを使用されている方など、情報ありましたら
お知らせください。
宜しくお願いいたします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-06-08 21:51
 状況がよくわかりません。

 どのようなデータを、SELECT したのでしょうか。
 どのデータを、どのプロパティに、バインドしたのでしょうか。

 SelectedIndex が 0 で、何かまずいのでしょうか?
(0番目が選択されているから0なのでは?)

 WHERE 句の有る/無しで、データが、どのように変わるのでしょうか。

 WHERE 句がないとき、つまり期待通り動作しているとき、どのようなデータがバインドされるのでしょうか。
kawauso
会議室デビュー日: 2006/06/08
投稿数: 6
投稿日時: 2006-06-09 14:12
すいません。解決しました。
バインド時のDataValueFieldがグループ内でユニークになっておらず、
(全部同じ値が入っていました)
asp.netでの選択行の解釈が正しく出来ていない状態であったようです。

DataValueFieldとDataTextFieldを同じ値にしたところ
正常にSelectedIndexが取得できました。

御迷惑をお掛けしました。ありがとうございました。
うーたん
常連さん
会議室デビュー日: 2008/09/16
投稿数: 34
投稿日時: 2008-09-22 17:59
うーたんと申します。
現在、http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=46501&forum=7
でスレッドを立ち上げております。

kawausoさんの2年前の内容拝見しました。
> ※開発環境
> VS2005(VB2005 + asp.net2.0)
> Oracel9i
> ODP.NET(9.2.0.4)
> WinXP SP2
> (WEBエンジンはVS2005デバッグ環境です)
ということですが、Webサーバーに配置して稼動させる際
何か問題はありませんでしたか。
どのような些細なことでも構いません。
わたしのスレッドに書き込みをお願いできますか。
1

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