- - PR -
配列の内容を一気にDataTableにセットしたい
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-08-30 17:06
現在、ASP.NET(VB.NET)を用いてWEBアプリを開発しています。
一次元配列が3つあり、3つとも行数は同じです。 それをDataTableの各列にそれぞれセットして 3列の表形式にしたいのですが、 配列を一気にDataTableにセットする方法を探しています。 ***************************************************************** 配列1 配列2 配列3 ------------------------------- 1 みかん 5個 2 りんご 2個 3 バナナ 3個 4 イチゴ 8個 5 ぶどう 1個 これをDataTableに一気にセットして下記表のようにしたい。 列1 列2 列3 ---------------------------- 1 みかん 5個 2 りんご 2個 3 バナナ 3個 4 イチゴ 8個 5 ぶどう 1個 ***************************************************************** 何かご存知のことなどがありましたら ぜひご教授お願い致します。 | ||||||||||||
|
投稿日時: 2004-08-30 17:22
>一気にDataTableにセットする
というのはメソッド一発でってことでしょうか? だとしたら無理なので普通にループで処理するのが一番かと。 | ||||||||||||
|
投稿日時: 2004-08-30 17:36
ループ処理をせずに1回でセットできる術がないかを探しておりました。
1回でDataTableにセット出来れば最も良いのですが、 憶測ではありますが、それは無理だろうと思ったので、 各配列をそれぞれDataTableの各列にセットするという意味で 3回でセット出来ればと思っております。 これなら出来るんじゃないかという期待を持っていたのですが 今のところ、まだ方法が見つかっておりません…。 もし何かありましたらぜひご教授お願い致します。 | ||||||||||||
|
投稿日時: 2004-08-30 19:53
dtという名前のDataTableがあって、ar1、ar2、ar3という
配列があるとしたら、 DataRow dr = dt.NewRow(); dr.ItemArray = new object[] { ar1[i], ar2[i], ar3[i] }; dt.Rows.Add(dr); こんな感じでfor文でiをインクリメントしてあげたら とりあえずできるんじゃないかな。 #参考になるかどうか。。。 http://homepage3.nifty.com/dotnetfan/console/console17.html | ||||||||||||
|
投稿日時: 2004-08-30 20:11
こちらのコンストラクタが例になるかと思います。
http://www.geocities.jp/mnow/cs_dataset3.html _________________ えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12 えムナウのプログラミングのページ Blog1 Blog2 | ||||||||||||
|
投稿日時: 2004-08-31 15:29
お返事ありがとうございます。
私がやりたいと思っていた処理のイメージは、 ループ処理をせずに一気に配列をDataTableに流し込む という姿を思い描いていたのですが、 やはりループで1行ずつ作っていくしか無さそうですね。 参考ページの紹介等を見ながら作ります! ありがとうございました!! | ||||||||||||
|
投稿日時: 2004-08-31 17:17
どこかではループしなければなりませんが、使わせるところではループしないようにすることは可能ですよ。 例えば、3列N行の配列を受け取るコンストラクタを作り、コンストラクタ内ではループしますが、コンストラクタの呼び出しは、ループする必要はありません。
こんな感じかな?おおざっぱなので、しっかり見直してもらうとして、次のように使えると思います。
| ||||||||||||
|
投稿日時: 2004-09-06 11:06
お返事ありがとうございます。
プログラムの組み方次第でいろいろな方法ができるんですね! 教えていただいた方法を早速使ってみたいと思います。 ありがとうございました! |
1