質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

1回答

3777閲覧

GridViewについて

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2017/06/21 11:44

編集2017/06/22 10:13

こんばんわ。質問です。
ASP.netでアプリを作っているのですがグリットビューをデザインのところに
挿入したにもかかわらずデバックすると表示されません。また、 GridView にDBから検索で持ってきたものを表示させたいのですがどうしたら言いのでしょうか?詳しい方お願いします

namespace ToDo { public partial class ToDo_control : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { mitilyakusilu.Checked = true; sikakari.Checked = true; kanrilyou.Checked = true; Dictionary<string, string> item = new Dictionary<string, string>(); item["C01"] = "打合わせ"; item["C02"] = "資料作成"; item["C03"] = "プログラム"; item["C04"] = "テスト"; item["C05"] = "その他"; item["C06"] = "プライベート"; Ddl.DataSource = item; Ddl.DataTextField = "Value"; Ddl.DataValueField = "Key"; Ddl.DataBind(); Ddl.Items.Insert(0, ""); DataTable dt = new DataTable(); //空の DataTableを作成 dt.Columns.Add("Id", typeof(String)); dt.Columns.Add("Staus", typeof(String)); dt.Columns.Add("CategoryCode", typeof(String)); dt.Columns.Add("StartDate", typeof(String)); dt.Columns.Add("EndDate", typeof(String)); dt.Columns.Add("ToDo", typeof(String)); GridView.DataSource = dt; } } protected void Registration_Click(object sender, EventArgs e) { Response.Redirect("ToDo_Editing.aspx"); } protected void Editing_Click(object sender, EventArgs e) { Response.Redirect("ToDo_Editing.aspx"); } protected void search_Click(object sender, EventArgs e) { string connectionString = ConfigurationManager.ConnectionStrings["SQLServer"].ConnectionString; using (var connection = new SqlConnection(connectionString)) using (var command = connection.CreateCommand()) { try { //データベースの接続開始 connection.Open(); //実行するSQLの準備 String sql = @"SELECT Status, CategoryCode, StartDate, EndDate, ToDo FROM ToDoYamamoto WHERE 1 = 1"; //未着手のチェックボックスにチェックが入っているか if (mitilyakusilu.Checked) { sql = sql + " AND Status = @Status"; command.Parameters.Add(new SqlParameter("@Status", "1")); } //仕掛のチェックボックスにチェックが入っているとき else if (sikakari.Checked) { sql = sql + " AND Status = @Status"; command.Parameters.Add(new SqlParameter("@Status", "2")); } //完了のチェックボックスにチェックが入っているとき else if (kanrilyou.Checked) { sql = sql + " AND Status = @Status"; command.Parameters.Add(new SqlParameter("@Status", "3")); } //カテゴリが選択されているとき if (Ddl.SelectedValue != "") { sql = sql + " AND Ddl.SelectedValue = @CategoryCode"; command.Parameters.Add(new SqlParameter("@CategoryCode", Ddl.SelectedValue)); } //開始予定日が入力されているとき if (StartFrom.Text != "") { sql = sql + " AND StartDate >= @StartFrom"; command.Parameters.Add(new SqlParameter("@StartDate", StartFrom.Text)); } //開始予定日が入力されているとき if (StartTo.Text != "") { sql = sql + " AND StartDate <= @StartTo"; command.Parameters.Add(new SqlParameter("@StartDate", StartTo.Text)); } //完了予定日が入力されているとき if (CompletionFrom.Text != "") { sql = sql + " AND EndDate >= @CompletionFrom"; command.Parameters.Add(new SqlParameter("@EndDate", CompletionFrom.Text)); } //完了予定日が入力されているとき if (CompletionTo.Text != "") { sql = sql + " AND EndDate<= @CompletionTo"; command.Parameters.Add(new SqlParameter("EndDate", CompletionFrom.Text)); } sql = sql + " ORDER BY Status, CategoryCode, StartDate, EndDate, ToDo"; //実行 command.CommandText = sql; var adapter = new SqlDataAdapter(command); //取得結果を格納する var table = new DataTable(); //データの取得 adapter.Fill(table); GridView.DataSource = table; } finally { //データベースの接続終了 connection.Close(); } } } } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/06/21 15:26

コードは ``` と ``` で囲ってください。インデントされて読みやすくなりますので。(正直言うと、今のインデントもされてないコードは読む気力がわいてきません) それから、用語は正確にお願いします。sap.netASP.NET グリットビュー ⇒ GridView のはずです。
退会済みユーザー

退会済みユーザー

2017/06/21 21:30

すみません、インデントとはどうやるのでしょうか?
退会済みユーザー

退会済みユーザー

2017/06/22 00:48

質問者さんの質問文を編集し、namespace ToDo の上に ``` を一行追加し、さらに最後の } の次に ``` を一行追加してください。
退会済みユーザー

退会済みユーザー

2017/06/22 09:53

ASP.NET のタグを外さないでください。
退会済みユーザー

退会済みユーザー

2017/06/22 10:12

すみません。付け直します
guest

回答1

0

ベストアンサー

インデントされてないコードは読みにくいのでざっとしか見てませんが・・・

やりたいことは、

(1) 初期画面では Page_Load で作成する DataTable を GridView にデータバインドして表示したい。そして、

(2) 初期画面表示後、何らかのコントロール(ボタン?)のクリックのイベントハンドラ search_Click で、特定の検索条件で SQL Server のテーブルから抽出したレコードを DataTable に取得し、それを GridView にデータバインドして表示したい

・・・ということで、問題は、(1) でも (2) でも GridView が表示されないということだと理解しています。

その理解が正しいとすると、表示されない理由は、

(1) では DataTable の入れ物だけを作成したが中身がない。それに加えて、DataTable に中身を加えたとしても、GridView に DataBind() メソッドが適用されてない。

(2) DataTable に期待通り SQL Server からレコードが取得できているか怪しい。取得できているとしても、GridView に DataBind() メソッドが適用されていない。

・・・だと思われます。

全体的に、コードがベストプラクティスとは程遠いです。はっきり言わせていただくと、ちょっと問題外という感じです。

GridView はデータソースコントロール(SqlDataSource や ObjectDataSource)と一緒に使うべきです。まずそれを検討してください。

参考になりそうな記事を紹介しておきますので、よろしければ読んでください。

DropDownList を使って絞込み
http://surferonwww.info/BlogEngine/post/2011/07/17/Showing-records-selected-by-DropDownLists-into-GridView.aspx

投稿2017/06/22 07:15

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/06/22 09:33

GridView.DataSource = table; この時点で中身は入ってはいたのですがこの後がどう記述したらいいかわかりません
退会済みユーザー

退会済みユーザー

2017/06/22 09:51

回答を読んでますか? 「GridView に DataBind() メソッドが適用されてない」と書きましたけど? table にきちんとデータが取得できていれば、それで表示されるはずですがやってみましたか? やってみてもダメだったということであれば、table に SQL Server からデータが取得できてないということが怪しいです。ホントにデータを取得できてますか? どうやって確認しましたか? 上にも書きましたが、ASP.NET のタグを外さないでください。
退会済みユーザー

退会済みユーザー

2017/06/22 10:17

クイックウォッチで見たときは入っていたのですがもしかしたら自分が勘違いしてるのかもしれません。
退会済みユーザー

退会済みユーザー

2017/06/22 12:09

わかりました!色々ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問