- PR -

型指定されたデータセットのデータコピーについて

1
投稿者投稿内容
はぎ丸
常連さん
会議室デビュー日: 2005/02/02
投稿数: 36
投稿日時: 2005-02-15 14:58
こんにちは。

現在C#で開発を行っています。

型定義されたDataSetのデータをコピーする際に
「列 'ExpFullName' は読み取り専用です。」(ExpFullNameは列名)
というエラーが発生します。

この列は型定義の際Expressionプロパティで
別の列データを結合し表示するようにしています。
やはりExpressionプロパティを指定している列を含む場合には
1つ1つ要素を指定してコピーしていくしかないのでしょうか?

ds1.Tables[0].Rows[0].ItemArray = ds2.Tables[0].Rows[0].ItemArray;

項目数が多いので上記のような方法をとりたいのですが、
なにかいい方法はありますでしょうか?

ご存知の方がいらっしゃいましたらご教授お願いいたします。
中博俊
ベテラン
会議室デビュー日: 2004/10/17
投稿数: 91
お住まい・勤務地: 大阪市
投稿日時: 2005-02-15 15:07
無理でしょうし、そのように扱うための型指定DataSetじゃありません。

きちんとNewRowで行を取り出し、そこにセットするとかそういう感じですね。

#ためしてませんが。
_________________
中博俊 MSMVP Visual Studio C# Since 2004/04-2005/03, MCP
http://naka.wankuma.com/
http://blogs.wankuma.com/naka/
naka@wankuma.com
はぎ丸
常連さん
会議室デビュー日: 2005/02/02
投稿数: 36
投稿日時: 2005-02-15 16:07
引用:

中 博俊さんの書き込み (2005-02-15 15:07) より:
無理でしょうし、そのように扱うための型指定DataSetじゃありません。

きちんとNewRowで行を取り出し、そこにセットするとかそういう感じですね。

#ためしてませんが。



返信どうもありがとうございます。
やはりそのようですね。。。
1つ1つ指定するようにして対応したいと思います。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-02-15 20:50
 for文で回す、とか。

DataRow newRow = DataTable.NewRow();
for (int i = 0; i < DataRow.Item.Count; i++)
if (orgRow(i).Expression != string.Empty)
newRow(i) = orgRow(i);

_________________
1

スキルアップ/キャリアアップ(JOB@IT)