- PR -

DataViewから型付データセットへの変換方法

1
投稿者投稿内容
MARO
会議室デビュー日: 2005/07/18
投稿数: 3
投稿日時: 2005-07-18 17:04
C#初心者です。よろしくお願いします。

型付データセットより条件を指定して、行の抽出を行いたいと思っています。
そこで・・・
DataView Dv = new DataView( 型付DataSet.Table, "ITEM = 'A'", "SORT_KEY", DataViewRowState.CurrentRows);
string item = (string)Dv[0].Row["ITEM"]; // ITEM = 'A'

このような場合、DataViewのDvを型付DataSetに戻すことはできますか?




[ メッセージ編集済み 編集者: MARO 編集日時 2005-07-18 17:14 ]

[ メッセージ編集済み 編集者: MARO 編集日時 2005-07-18 17:14 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-07-18 19:37
 使い方が反対?

 データビューは、データセットの中から一部を、ビューとして再構成、、、じゃないな、取り出して使っているわけですから、一部を全体に戻すことはできません。データが落ちてしまっているので、落ちたデータを取り戻すことはできないのです。


 行データに、元の行データにアクセスする手段が残っています。それを使いましょう。(という話だと思うけど?)
_________________
MARO
会議室デビュー日: 2005/07/18
投稿数: 3
投稿日時: 2005-07-19 12:39
Jittaさん、回答ありがとうございます。

>行データに、元の行データにアクセスする手段が残っています。それを使いましょう。
これはどのように行うのですが?
今回は参照だけなので、抽出してきたデータに対する更新はありません。
なぜ、型付DataSetに戻したいかと言うと「string)Dv[0].Row["ITEM"]」ですと、
コンパイルエラーにならないからです。
できるだけ、コンパイルでひっかかるような作りにしたいと思っています。

ご教授願います。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2005-07-19 13:09
引用:

MAROさんの書き込み (2005-07-19 12:39) より:
なぜ、型付DataSetに戻したいかと言うと「string)Dv[0].Row["ITEM"]」ですと、
コンパイルエラーにならないからです。




Dv[0].Rowを型付DataSetクラス内に定義されている該当のDataRowクラスに型変換して利用すれば良いです。
_________________
「伝える」とは「人に云う」と書く。
http://d.hatena.ne.jp/NAL-6295/
MARO
会議室デビュー日: 2005/07/18
投稿数: 3
投稿日時: 2005-07-19 13:42
NAL-6295さん、回答ありがとうございます。
型変換により、やりたかったことができました!
まだまだ勉強不足ですね(^-^;
1

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