- - PR -
GridViewにSQLと関係なくロジックで行追加する方法
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-06-12 09:46
Visual Studio 2005で、ASP.NET Webサイト(C#)の調査をしています。
GridViewに表示するデータをSQLではなく、ロジックで実装するような方法 は、無いのでしょうか? 見たところ、データベースやXMLファイルなどとGridViewを関連付けて 一覧表示を行うことが一般的なようですが、どうもWindowsフォームで 使用するDataGridViewのようにRows.Addで行を追加したりはできないようです。 例えば、データベースから一覧を表示するときに、条件によって、 先頭行に固定で1行追加するとか行いたいようなケースも、全て SQLで解決するようにしなければ実装できないのでしょうか? また、別の例で言えば、一覧と詳細のページが存在し、詳細ページで入力した 内容で一覧ページの内容を更新するが、データベースへの反映は、一覧ページで 一括して行いたいなどのケースも考えられます。 そもそも、このようなケースではGridViewを使用するべきでは無いなど、 何か、情報がありましたら、よろしくお願いします。 | ||||
|
投稿日時: 2007-06-12 10:01
SQLもロジックだし。。。とか言うのは置いておいて、
DataTable 経由でデータをバインドしてはどうでしょう。 _________________ かるあ のメモ と スニペット | ||||
|
投稿日時: 2007-06-12 11:38
System.Collections.Generic.List(Of T) クラスで
表示/編集したいデータを生成して、 GridView の DataSource に指定してはどうでしょう? | ||||
|
投稿日時: 2007-06-12 14:54
かるあさん、yosさん。
情報ありがとう御座いました。 とりあえずは、DataTableを使用する方法を検討してみたところ、 ロジックで、GridViewのデータを表示させることができました。 コードは、こんな感じです。 //DataTable定義 DataTable dt = new DataTable(); dt.Columns.Add("項目1", Type.GetType("System.String")); dt.Columns.Add("項目2", Type.GetType("System.String")); //DataTableにデータ追加 dt.Rows.Add("01", "0101"); dt.Rows.Add("02", "0202"); //GridViewにバインド GridView1.DataSource = dt; GridView1.DataBind(); 実は、これに対して、選択機能を追加したいのですが、 dt.Rows.Add("01", "<a href=\"http://www.atmarkit.co.jp/\">eee</a>"); 当然ですが、こんな感じにしても効きません。 リンクやボタンなどはGridViewに直接定義を行うのでしょうか? | ||||
|
投稿日時: 2007-06-12 15:50
GridView をこんな風に定義してみる。
データテーブルに URL用の列(項目3)を追加して
_________________ かるあ のメモ と スニペット | ||||
|
投稿日時: 2007-06-15 11:23
かるあさんに教えてもらったようにやってみたら、上手くいきました。
ありがとう御座いました。 |
1