トップ回答者
CSVファイルを読込みGridViewに表示させるのは可能でしょうか?

質問
-
おはようございます。
ASP.NET(C#2005)で社内で使用するテスト確認用のプログラムを作っています。
IIS4.0+ASPとかウインドウズアプリケーション(C#2005)の経験は少しだけあるので、勉強する意味でもASP.NETで作ってみようと思っています。
簡単に作ろうと思えば、読込んだCSVファイルを<table><tr><td>~</td></tr></table>とすれば終わりですが、ファイル内容をGridViewに表示しようと考えています。
ウインドウズアプリケーションではdataGridViewを使ったプログラムが過去にあったので、似たようなコーディングで済むのかなぁ?
と思っているのですが、全く違うようなコーディングになるんでしょうか?
※ウインドウズアプリケーションでは、
dataGridView1[iCol, iRow].Value = csv_data.ToString();
と記述していました。
ご存知の方やご経験の方がいらっしゃれば、どんな事でも構わないのでご教授頂ければ幸いです。
回答
すべての返信
-
じゃんぬねっと 様
こんばんは。 かさこです。
とりあえずcsvファイルをテーブルリンクでアクセスに取込み表示することができるようになりました。
(デザイン画面には「データバインド」と表示されています)
考えていたのは、csvファイルを1行ごとに読み込みグリッド部分にセットしていく方法を考えていました。(下記のように)
// 1行毎にcsvファイルを取得
while ((sCSV = sr.ReadLine()) != null)
{
iRow++;
GridView1[0, iRow].Value = iRow.ToString();// カンマで区切られた文字列を取得
string[] sDAT = sCSV.Split(',');// 取得した文字列を表示
for (iCol = 0; iCol < sDAT.Length; iCol++)
{
GridView1[iCol, iRow].Value = sDAT[iCol].ToString();
}
}少なくともウインドウズフォームでグリッドを使用した時は、上記のようにプログラミングしたのですが・・・。
(現在GridView1[x,y] = の部分はコメントアウトしています)
上記のような部分でグリッド部分にセットしていく方法はあるんでしょうか?
-
じゃんぬねっと 様
こんばんは。 かさこです。
csvファイルをテーブルリンクでアクセスに取込み、画面表示できるようになりました。
(デザイン画面には「データバインド」と表示されています)
でも疑問点があります。
ウインドウズフォームでグリッドに表示していた部分を流用して、下記のコーディングがあるのですが『GridView1』の部分をコメントアウトしても画面に表示されます。
// 1行毎に取得
while ((sCSV = sr.ReadLine()) != null)
{
iRow++;
GridView1[0, iRow].Value = iRow.ToString();// カンマで区切られた文字列を取得
string[] sDAT = sCSV.Split(',');// 取得した文字列を表示
for (iCol = 0; iCol < sDAT.Length; iCol++)
{
GridView1[iCol, iRow].Value = sDAT[iCol].ToString();
}
}
上記のようにfor文の中でグリッドに表示させることは可能なのでしょうか?
-
かさこ さんからの引用 上記のようにfor文の中でグリッドに表示させることは可能なのでしょうか?
不可能ではないですが、普通はあまりしません。もし実現されるのであれば、以下が参考になると思います。
GridViewに行追加するには?