- - PR -
GridViewからのDataSet取得
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-08-10 14:38
毎度お世話になります。
ASP.net(VB2005) SQLServer(2005) を使用して開発しております。 SQLを発行して取得したデータをDataSetから GridViewへバインドして表示しているのですが、 GridViewで編集したデータをDataSetに格納することは出来ないのでしょうか? 編集後のデータに対して、行の消し込み、追加等を GridViewのCommandを使わずに行いたいのです。 どなたか、ご存知の方がいらっしゃいましたら、 ご教授願います。 | ||||||||
|
投稿日時: 2006-08-10 16:23
自分でDataSetを作っておいて、それをGridViewにバインドしているなら
そのDataSetをそのまま使えばいいと思うのですが。。。 もしかしてDataSetを自分で作っているのではなく、SqlDataSourceあたりで つないでますか? その場合は基本的には無理じゃないかと思います。 | ||||||||
|
投稿日時: 2006-08-10 16:35
どっとねっとふぁん様
ご回答ありがとうございます。
今回はSqlDataAdpterとSqlCommandを使用し、 AdapterのFillメソッドでデータセットを生成したものを GridViewのデータソースとして使用しています。 ですが、画面上で編集を加えられたデータを取得するには 生成したタイミングのデータセットの内容とは違うため、 GridViewからDataSetが取得できればと思った次第です。 上記の内容を満たすアイデアがあればご教授願います。 | ||||||||
|
投稿日時: 2006-08-10 16:53
GridViewのDataSourceプロパティは読み取り専用じゃないですから、ここから取り出せる
ObjectをDataSetにキャストするだけでいいんじゃないですか? | ||||||||
|
投稿日時: 2006-08-10 23:15
どっとねっとふぁん様
度々の回答ありがとうございます。
当初はそれで出来るのではないかと思い、 DataSetObj = CType(GridView1.DataSource, DataSet) のような形で実装したのですが、 GridView1.DataSourceがNothingになっているため、 内容を取得する事が出来ませんでした… DataBindのやり方等で取れることがあるのでしょうか? もし、ご存知であればご教授ください。 | ||||||||
|
投稿日時: 2006-08-11 01:55
(DBに対してってことですよね)行うのが目的ならSqlDataSourceを使うとかなり楽ですよ。 「GridViewのCommand」というのはInsertとかUpdateとかある(RowCommandイベントが発生するやつ) あれですか?何故「使わずに」なのですか?(私もDataSetに格納する方法はしりませんが) | ||||||||
|
投稿日時: 2006-08-11 10:24
べる様
毎回のご回答有難うございます。
上記についてですが、 画面上で編集したデータは画面上にある[登録]ボタンを押下しない限り 反映しないようなイメージです。 なので、SqlDataSourceを使う事が出来ません…。
はい、まさしくその[あれ]なのですが、画面のレイアウト上、 Commandボタンは使いたくないって言うのが、要望なので… 出来る限りはその要望にかなう形で作成したいと思っております。 やはり、できないのですかねぇ〜 | ||||||||
|
投稿日時: 2006-08-11 10:37
> DataSetObj = CType(GridView1.DataSource, DataSet)
> のような形で実装したのですが、 > GridView1.DataSourceがNothingになっているため、 > 内容を取得する事が出来ませんでした… んー。 どのような実装をされているのかが詳しくはわからないので、何が起きてるのか 推測もできませんね。 重要な部分のソースコードを出してもらうのがいいかなぁ。。。 ちなみに、表示はともかく、その後の画面上での修正作業はある程度動いてるんでしょうか。 |