@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

GridVIewについて

1
投稿者投稿内容
あかり
常連さん
会議室デビュー日: 2009/02/18
投稿数: 38
投稿日時: 2009-04-08 10:44
お世話になっております。
ASP.NETでGridVIewに複数のSqlDataSourceの内容を表示したいのですが、どうすればよいのでしょうか?

DropDownList(テーブル名が格納されている)から選択し、選択されたテーブルの内容をGridViewに表示したいのですが、うまくいきません。

最初からGridViewにデータソースを選択した状態で切り替えると、表示中のテーブルと、切り替えたデータソースの項目が一致しないため、エラーになってしまいます。

また、データソースを未選択のGridViewを使用すると、データソースIDをセットしても何も表示されません。

以上のことから、GridViewに動的にテーブルを表示する場合、表示項目を設定していかなければいけないと思うのですが、可能なのでしょうか?

GridViewをテーブル分用意しなければいけないのでしょうか?
ASP.NET初心者のためよくわからず困っています、よろしくお願いいたします。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2009-04-08 11:18
> 以上のことから、GridViewに動的にテーブルを表示する場合、
> 表示項目を設定していかなければいけないと思うのですが、可能なのでしょうか?

動的にテーブルを変更して表示することは可能ですけど、その場合項目名は
テーブルに設定されている項目そのものになります。
また、表示だけならともかく、データの操作をしようとするといろいろと
気をつけないといけないことが多くなるでしょうね。

テーブルの数だけGridViewを用意しておいて、表示を切り替えるという方法も
考えられますが、この場合、ViewStateにどれだけの情報が含まれるかに
注意する必要があります。

あと、データベースの管理ツールみたいなものを作りたい、ということであれば
今ならDynamic Dataを使う、という手もあるかと思います。
あかり
常連さん
会議室デビュー日: 2009/02/18
投稿数: 38
投稿日時: 2009-04-08 14:27
どっとねっとふぁん様回答ありがとうございます。

まさしく、データベースの管理ツールみたいなものを作成したいと考えております。

>テーブルの数だけGridViewを用意しておいて、表示を切り替えるという方法も
考えられますが、この場合、ViewStateにどれだけの情報が含まれるかに
注意する必要があります。

テーブル数も多いため、できれば避けたいと考えております。

>あと、データベースの管理ツールみたいなものを作りたい、ということであれば
今ならDynamic Dataを使う、という手もあるかと思います。

当方は、.NET Framework自体は3.5なのですが、VSのバージョンが2005のため、LINQがサポートされておりません。
Dynamic Dataは使う方法はありますでしょうか?

>動的にテーブルを変更して表示することは可能ですけど、その場合項目名は
テーブルに設定されている項目そのものになります。

項目名はそのままで大丈夫です、どのように設定すればよいのでしょうか?

どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2009-04-08 14:53
> 当方は、.NET Framework自体は3.5なのですが、VSのバージョンが2005のため、LINQが> サポートされておりません。
> Dynamic Dataは使う方法はありますでしょうか?

Frameworkが3.5を使えるなら、無償で使えるVisual Web Developerを利用してみてはどうでしょうか。
それならすぐDynamic Dataが利用できます。

管理ツールとしてデータの更新/削除等を行うのであれば、1つのGridViewで複数のテーブルを扱うのは面倒なだけだと思います。
あかり
常連さん
会議室デビュー日: 2009/02/18
投稿数: 38
投稿日時: 2009-04-08 15:18
どっとねっとふぁん様回答ありがとうございます。

>Frameworkが3.5を使えるなら、無償で使えるVisual Web Developerを利用してみてはどうでしょうか。
それならすぐDynamic Dataが利用できます。

ソースセーフ管理化に入れないことやCrystalReportsを使用できないなどの理由で、Express Editionは使用しないことになっているんです。
1ページだけExpress Editionで作成し、VS2005に追加するようなことはできるのでしょうか?

>管理ツールとしてデータの更新/削除等を行うのであれば、1つのGridViewで複数のテーブルを扱うのは面倒なだけだと思います。

更新や削除はグリッドビューに依存せずに行えるようにしていけばよいということですね。
1

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