初めまして。いつも参考にさせて頂いています。
今日は、リストボックスについてどうしてもわからないことがあり
書き込み致しました。
[開発環境]
VB.NET2003
Oracle9i
ODP.NET
まず、リストボックスが2つ(「listbox1」「listbox2」)と、
「追加」ボタンが配置してあります。
データベースから「listbox1」にデータを読み込みます。
その中から一列を選択し「追加」ボタンを押すと、
「listbox1」の中で選択した列を「listbox2」へ移動させたいのです。
読み込みの際DataSourceを使用したのですが、
(Datasourceを使用すれば読み込みは出来たのですが)
そうすると項目のコレクションを変更出来なくなるようで、
以下の処理がうまく出来ませんでした。
なので、Datasourceを使用する以外で、
データベースからリスト内にデータを読み込む方法があれば
(多分あると思うのですが)
ご教授願えればと思います。
質問の意図が伝わりづらかったらすみません。
よろしくお願い致します。
すみません、「一列」ではなく「一行」ですね。
というか「一項目」でしょうか。
データを1個1個取り出して ListBox.Items.Add する。
それだけの事では?
特攻隊長まるるうさん、返信ありがとうございます。
本当に初歩的なことだと思うのですが、その
「一個一個取り出す」というところで
悩んでいる次第でして…。
何かヒントのようなものがございましたら
ご教授くださるとありがたいです。
[@IT ODP.NETファーストステップ]
http://www.atmarkit.co.jp/fdb/index/index-db.html#odpdotnet
ODP.NET 使った事無いから回答できないけど DataSet とかに
データを取って来れるんじゃないの?…なら DataSet のヘルプ
とか見ればサンプル載ってるでしょ???
解決しました。
確かにサンプルがありました。
探すのに時間がかかってしまいましたが。。。
私がわからなかったのは「For Each」のところでした。
Datarowについても分かっていなかったです。
まだまだ勉強不足です。
どうもありがとうございました。
解決済みなのにすみません。
私もC#ですが同じような課題にぶち当たりました。
「For Each」を使わないやり方です。
しょぼいですが参考までに・・。
[一部抜粋]
System.Data.DataTableCollection tbA;
adp = new System.Data.OleDb.OleDbDataAdapter(SQL1,cn1);
adp.Fill(ds1,"tba1");
tbA = ds1.Tables;
for(cnt=0; cnt<tbA["tba1"].Rows.Count-1; ++cnt){
lst1.Items.Add(tbA["tba1"].Rows[cnt][0]);
}
ここは確かVBの掲示板だったと思うのだが・・・
1.それぞれの掲示板の趣旨にあったものをお書き下さい。
使用上の注意をよく読み、事前にしっかり確認しましょう
ツイート | ![]() |