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

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

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

Re[1]: DataRowsCollection のインスタンスの作り方


(過去ログ 26 を表示中)

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

■12293 / inTopicNo.1)  DataRowsCollection のインスタンスの作り方
  
□投稿者/ OGAKUZU (4回)-(2008/01/07(Mon) 18:19:21)

分類:[C#] 

DataRowsCollection のインスタンスの作りたいのですがコンパイルエラーになります。

DataTable の内容を退避するためのバッファとして使おうとしています。

// インスタンスを作る
DataRowCollection rows = new DataRowCollection(); ← コンパイルエラー

// rows へ DataTable の内容を退避
for (i = 0; i < 10; i++)
{
 rows.Add(table1.Rows[i]);
}

すみませんが教えてください。

引用返信 編集キー/
■12294 / inTopicNo.2)  Re[1]: DataRowsCollection のインスタンスの作り方
□投稿者/ 未記入 (149回)-(2008/01/07(Mon) 18:29:33)
リファレンスを見ればわかると思いますが、コンストラクタが隠蔽化されていますよね。
http://msdn2.microsoft.com/ja-jp/library/system.data.datarowcollection(VS.80).aspx

Generics を使ったらいいんじゃないですか? はじめに言っておきますがいずれにせよ「退避」にはならないと思いますよ。
引用返信 編集キー/
■12316 / inTopicNo.3)  Re[1]: DataRowsCollection のインスタンスの作り方
□投稿者/ やじゅ (8回)-(2008/01/07(Mon) 23:28:51)
やじゅ さんの Web サイト
No12293 (OGAKUZU さん) に返信
> DataTable の内容を退避するためのバッファとして使おうとしています。
>

DataTableにはCopyメソッドがあります。

Visual Basic .NET を使用して DataTable 間で DataRow をコピーする方法
http://support.microsoft.com/kb/305346/ja
引用返信 編集キー/
■12337 / inTopicNo.4)  Re[1]: DataRowsCollection のインスタンスの作り方
□投稿者/ OGAKUZU (6回)-(2008/01/08(Tue) 10:51:35)
「DataTable の内容を退避する」目的は達せられました。

// 全部を退避する場合
DataTable table2 = table1.Copy();

// 一部を退避する場合(先頭10行分の例)
DataTable table2 = table1.Clone();
for (i = 0; i < 10; i++)
{
  DataRow row1 = table1.Rows[i];
  DataRow row2 = table2.NewRow();
  row2[0] = row1[0];
  row2[1] = row1[1];
  row2[2] = row1[2];
    :
    :
  table2.Rows.Add(row2);
}

結果がタイトルの主旨からそれてしまい申し訳ありません。
今後タイトルの付け方に注意します。

・DataRowsCollection「コンストラクタが隠蔽化」されている理由
・「Generics」を用いる方法
・「いずれにせよ『退避』にはならない」理由

については、いま勉強中ですので、機会があれば報告します。

未記入さん、やじゅさん、ご指導ありがとうございました。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -