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

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

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

Re[1]: 異なるレコード長のRow間のコピー


(過去ログ 75 を表示中)

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

■44205 / inTopicNo.1)  異なるレコード長のRow間のコピー
  
□投稿者/ める (31回)-(2009/12/01(Tue) 17:15:19)

分類:[.NET 全般] 

お世話になります。

異なるレコード長のRow間のコピーを
行いたいのですが・・・
例えば・・・

hogehogeRowのレコードは{string, int, int DateTime}
mogemogeRowのレコードは{int, string, int, int DateTime}

とした場合に、hogehogeRowのデータを丸ごとmogemogeRowの
2番目以降へとザッとまとめてコピーしたいのです。

hogehogeRowを一旦ItemArrayでList<object>へ吐き出し、
そのListの先頭要素にintの値を設定した後に
CopyTo()でmogemogeRow.ItemArrayにコピーをしたのですが、
mogemogeRow.ItemArrayの中身が空っぽのままなのです。

何が考えられるでしょうか?
また、この方法以外に何か良い方法ありますか?
どなたか宜しくお願いします。

環境はVisualstudio2005/C#/.net2.0です。



引用返信 編集キー/
■44206 / inTopicNo.2)  Re[1]: 異なるレコード長のRow間のコピー
□投稿者/ める (32回)-(2009/12/01(Tue) 17:46:59)
すみません。自己解決しました。

> hogehogeRowを一旦ItemArrayでList<object>へ吐き出し、
> そのListの先頭要素にintの値を設定した後に
> CopyTo()でmogemogeRow.ItemArrayにコピーをしたのですが、
> mogemogeRow.ItemArrayの中身が空っぽのままなのです。

List<object> aaa = new List<object>(hogehogeRow.ItemArray)

aaa.Insert(0, intの値);

aaa.CopyTo(0, mogemogeRow.ItemArray);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
としていました。これを

mogemogeRow.ItemArray = aaa.ArrayTo();
にすることで、コピーできました。

CopyTo()で出来ない理由はいまだわかりませんが、
自力で調べてみようと思います。
(ご教授頂けるのであれば歓迎です(^^;)
お騒がせ致しました。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -