C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[10]: csvの中身をdropdownlistに表示したい


(過去ログ 84 を表示中)

[トピック内 19 記事 (1 - 19 表示)]  << 0 >>

■49996 / inTopicNo.1)  csvの中身をdropdownlistに表示したい
  
□投稿者/ こまる (1回)-(2010/05/26(Wed) 09:37:41)

分類:[ASP.NET (VB)] 

2010/06/09(Wed) 12:55:33 編集(投稿者)
2010/05/26(Wed) 10:25:41 編集(投稿者)
2010/05/26(Wed) 10:08:52 編集(投稿者)

環境 Windows XP ASP.NET(VB) VB2008


引用返信 編集キー/
■50002 / inTopicNo.2)  Re[1]: csvの中身をdropdownlistに表示したい
□投稿者/ かたぎり (25回)-(2010/05/26(Wed) 12:21:47)
色々と手段がありますが、一つの方法としては、

1.CSVファイルを元に、DataSetを作成
2.1で作ったDataSetをもつDataSourceを作成
3.DropDownListに2のDataSourceをBind

の大きく分けて3つの作業が必要だと思います。

サンプルソースはネットをあされば結構でてくるかと。


引用返信 編集キー/
■50003 / inTopicNo.3)  Re[2]: csvの中身をdropdownlistに表示したい
□投稿者/ こまる (2回)-(2010/05/26(Wed) 13:02:02)
2010/05/30(Sun) 12:31:59 編集(投稿者)
2010/05/27(Thu) 08:43:04 編集(投稿者)
2010/05/26(Wed) 13:59:00 編集(投稿者)
2010/05/26(Wed) 13:12:04 編集(投稿者)


引用返信 編集キー/
■50016 / inTopicNo.4)  Re[3]: csvの中身をdropdownlistに表示したい
□投稿者/ もりお (224回)-(2010/05/26(Wed) 17:39:32)
No50003 (こまる さん) に返信

> 1のDataSetが調べているのですが、わかりません。。

DataSet が調べ物をしているように読めるので、文章としては DataSet につい
て調べているのですが、とした方が自然かと思います。
それはさておき、DataSet の何が分からないのでしょうか。
DataSet が何なのか分からないのでしょうか。
DataSet の作り方が分からないのでしょうか。

> どういったプログラムでやればいいですか?

CSV のテキストを DropDownList に表示するだけであれば
コードは記述せずに実現できるかと思います。

引用返信 編集キー/
■50028 / inTopicNo.5)  Re[4]: csvの中身をdropdownlistに表示したい
□投稿者/ やじゅ (1617回)-(2010/05/26(Wed) 20:27:46)
やじゅ さんの Web サイト
> ■No50003 (こまる さん) に返信

TextFieldParserクラスを使用してArrayListにCSVデータをいれて
http://dobon.net/vb/dotnet/file/readcsvfile.html
ArrayListをバインドする
http://asp35.com/aspListControls/Chapter2/ch2-03.aspx

引用返信 編集キー/
■50046 / inTopicNo.6)  Re[5]: csvの中身をdropdownlistに表示したい
□投稿者/ こまる (3回)-(2010/05/27(Thu) 09:08:37)
2010/05/30(Sun) 12:30:46 編集(投稿者)
2010/05/27(Thu) 11:54:57 編集(投稿者)
2010/05/27(Thu) 09:37:11 編集(投稿者)


引用返信 編集キー/
■50070 / inTopicNo.7)  Re[6]: csvの中身をdropdownlistに表示したい
□投稿者/ やじゅ (1620回)-(2010/05/27(Thu) 15:37:39)
No50046 (こまる さん) に返信
>今の問題は、Arraylistに全部入ってしまうので、どうやったら、第2カラムのred blue を取り出せるのかがわかりません。
> よろしくお願いします。

>csvの中身は↓に書きます。
>1,red,aaa.png
>2,blue,aaa.png

csvRecords には下記のようにセットされている
csvRecords(0) = "1"
csvRecords(1) = "red"
csvRecords(2) = "aaa.png"
csvRecords(3) = "2"
csvRecords(4) = "blue"
csvRecords(5) = "aaa.png"

別のArrayList変数を作成して、剰余演算子(mod)を使って
(カウント+1) mod 3 = 2 の条件に満たしたときに、Addで追加する。
そして、データソース用のそのArrayListを使用する。
red = (1+1) mod 3 = 2
blue = (4+1) mod 3 = 2
引用返信 編集キー/
■50072 / inTopicNo.8)  Re[7]: csvの中身をdropdownlistに表示したい
□投稿者/ こまる (4回)-(2010/05/27(Thu) 15:49:03)
2010/05/30(Sun) 12:31:07 編集(投稿者)

No50070 (やじゅ さん) に返信


引用返信 編集キー/
■50075 / inTopicNo.9)  Re[8]: csvの中身をdropdownlistに表示したい
□投稿者/ ごう (95回)-(2010/05/27(Thu) 16:24:06)
No50072 (こまる さん) に返信
> ■No50070 (やじゅ さん) に返信
>
>>csvRecords には下記のようにセットされている
>>csvRecords(0) = "1"
>>csvRecords(1) = "red"
>>csvRecords(2) = "aaa.png"
>>csvRecords(3) = "2"
>>csvRecords(4) = "blue"
>>csvRecords(5) = "aaa.png"


csvRecords(0)(1) が "red"
csvRecords(1)(1) が "blue"ですね。

csvRecords.Countを見ればcsvファイルの行数がわかるから
その行数を元に、別のArrayを宣言してそこにcsvRecords(x)(1)の中身を代入すればいいのでは?

引用返信 編集キー/
■50076 / inTopicNo.10)  Re[9]: csvの中身をdropdownlistに表示したい
□投稿者/ こまる (5回)-(2010/05/27(Thu) 16:51:00)
2010/05/27(Thu) 17:05:53 編集(投稿者)

No50075 (ごう さん) に返信
> ■No50072 (こまる さん) に返信
>>■No50070 (やじゅ さん) に返信
>>
> >>csvRecords には下記のようにセットされている
> >>csvRecords(0) = "1"
> >>csvRecords(1) = "red"
> >>csvRecords(2) = "aaa.png"
> >>csvRecords(3) = "2"
> >>csvRecords(4) = "blue"
> >>csvRecords(5) = "aaa.png"
>
>
> csvRecords(0)(1) が "red"
> csvRecords(1)(1) が "blue"ですね。
>
> csvRecords.Countを見ればcsvファイルの行数がわかるから
> その行数を元に、別のArrayを宣言してそこにcsvRecords(x)(1)の中身を代入すればいいのでは?
>

そうですね。ありがとうございます。
しかし、csvRecords(x)(1)
の(x)の部分を出すプログラムがハッキリわからなくて調べています。

図で書くと、csvRecordsの中はどんな感じに変化しますか?
引用返信 編集キー/
■50077 / inTopicNo.11)  Re[10]: csvの中身をdropdownlistに表示したい
□投稿者/ ごう (96回)-(2010/05/27(Thu) 17:03:02)
> しかし、csvRecords(x)(1)
> の(x)の部分を出すプログラムがハッキリわからなくて調べています。

csvRecords(x)(1)のxは変数ですよ。

今回の例だと、csvファイルの行数は2行でしょ?
csvRecords.Count=2なわけですよね。

csvRecords.Countのサイズ分のArrayを作成し ・・・ [i]
csvRecords.Countの回数分ループを回し ・・・ [ii]

[i]に[ii]で得られたcsvRecords(x)(1)を代入したらいいんじゃないの?


Dim x As Integer
x = 0

For x=0 To csvRecords.Count -1
    'あらかじめ宣言しておいたArrayにcsvRecords(x)(1)を代入
Next


引用返信 編集キー/
■50079 / inTopicNo.12)  Re[11]: csvの中身をdropdownlistに表示したい
□投稿者/ こまる (7回)-(2010/05/27(Thu) 17:16:08)
2010/05/30(Sun) 12:32:41 編集(投稿者)
2010/05/27(Thu) 17:18:41 編集(投稿者)

No50077 (ごう さん) に返信

引用返信 編集キー/
■50081 / inTopicNo.13)  Re[12]: csvの中身をdropdownlistに表示したい
□投稿者/ ごう (98回)-(2010/05/27(Thu) 17:32:06)
ArrayList() の使い方についてちゃんとマニュアルを確認してやっていますか?

csvRecords2 = csvRecords2(x)(1) の書き方では、期待する動作にならないと思います。

引用返信 編集キー/
■50082 / inTopicNo.14)  Re[13]: csvの中身をdropdownlistに表示したい
□投稿者/ こまる (8回)-(2010/05/27(Thu) 17:34:52)
No50081 (ごう さん) に返信
> ArrayList() の使い方についてちゃんとマニュアルを確認してやっていますか?
>
> csvRecords2 = csvRecords2(x)(1) の書き方では、期待する動作にならないと思います。
>
すみません。見てないです。
どこにありますか?
引用返信 編集キー/
■50083 / inTopicNo.15)  Re[14]: csvの中身をdropdownlistに表示したい
□投稿者/ ごう (99回)-(2010/05/27(Thu) 17:42:49)
> すみません。見てないです。
> どこにありますか?

公式のマニュアルはこちら
http://msdn.microsoft.com/ja-jp/library/system.collections.arraylist(VS.80).aspx



>あと、red blue を dropdownlist にバインドを考えています。
については、やじゅさんが紹介してくださった以下のURLは見ましたか? 

ArrayListをバインドする
http://asp35.com/aspListControls/Chapter2/ch2-03.aspx

わからなければ具体的にわからないところを書けば適切な回答が貰いやすくなると思いますよ。

引用返信 編集キー/
■50084 / inTopicNo.16)  Re[15]: csvの中身をdropdownlistに表示したい
□投稿者/ こまる (9回)-(2010/05/27(Thu) 17:47:50)
2010/05/30(Sun) 12:31:42 編集(投稿者)

No50083 (ごう さん) に返信
にです。
引用返信 編集キー/
■50087 / inTopicNo.17)  Re[9]: csvの中身をdropdownlistに表示したい
□投稿者/ やじゅ (1621回)-(2010/05/27(Thu) 18:17:23)
No50075 (ごう さん) に返信
> csvRecords(0)(1) が "red"
> csvRecords(1)(1) が "blue"ですね。

そうなってたのか、確認せずに失礼しました。
それなら2列目を出すのは簡単ですね。


引用返信 編集キー/
■50088 / inTopicNo.18)  Re[16]: csvの中身をdropdownlistに表示したい
□投稿者/ ごう (100回)-(2010/05/27(Thu) 18:33:54)
2010/05/27(Thu) 18:39:41 編集(投稿者)

No50084 (こまる さん) に返信
> Dim x As Integer
>
> For x = 0 To csvRecords.Count - 1
> Dim fields2 As String = csvRecords2(x)(1)
> csvRecords2.Add(fields2)
> Next
> です。ただ、Dim fields2・・・の部分に「インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。 パラメータ名: index」エラーが出てしまします。


デバッガーの使い方はわかりますか?
以下のURLはC#を例にしてますが、VB.NETでも似たようなものです。
http://journal.mycom.co.jp/articles/2008/08/18/debug/index.html

これを参考にして、
Dim fields2 As String = csvRecords2(x)(1)の行にブレークポイントを設定し
なぜエラーが出るか探ってください。
(私の予想ではCSVに空行があるのではないかなと思うのですが)


> あと、バインドの紹介していただいたことなんですが。
> あの、やり方だと自分で入力になりませんか?
> したいのは、csvの中身が増えても自動で増えるようにです。

ソースコード、よく読んでみましたか?
「自分で入力している」部分って、ArrayListに入力してるところでしょ。

DropDownListに対しては、データの詰まっているArrayListを渡しているでしょ。
「データの詰まっているArrayList」は、
まさに今やってる「CSVからデータを取り込む」という前段階で作成するんだよ?

dropVsNet.DataSource = arrDotNet 
dropVsNet.DataBind()

arrDotNetって、ArrayListのことだよね。
引用返信 編集キー/
■50099 / inTopicNo.19)  Re[10]: csvの中身をdropdownlistに表示したい
□投稿者/ こまる (10回)-(2010/05/28(Fri) 08:49:32)
解決しました。
ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -