• ベストアンサー

ASP.NET GridView 一致した行のみ表示

ASP.NET .NETはver3.5を使用 GridViewにDBのテーブルを反映させることは出来るのですが、そこから特定の行を絞って表示させる方法がわかりません。 例えば名前という列が存在する場合、名前が「佐藤」の行のみ表示させる方法です。 どのようにすればよろしいでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • tochansa
  • ベストアンサー率76% (23/30)
回答No.1

DBから取得するときに絞り込みをかけたらどうでしょう?DBに何使ってるかわかりませんがWHEREでいけるんじゃないかな。 もしくはGridViewのRowDataBindとかのタイミングで、rowの中の特定のcellに佐藤があればvisible=ture、なければfalseみたいな感じでやるかですかね~。

ShimantoGa
質問者

お礼

回答ありがとうございます。 DBはSQLSERVERです。 >DBから取得するときに絞り込みをかけたらどうでしょう? 当初はそのつもりだったのですが、.NETの機能をよく理解しておりません。 デザイン側でGridViewにDBのテーブルをドラッグすることで、テーブルの内容がGridViewに表示される機能があるとおもいます。 既にテーブルのデータが全て表示されている状態ですので、そこからSQLを使用して再度入れ込むというのも回りくどいです。 この全て表示されたデータの中から絞り込む方法はないものかと考えております。(.NET3.5の機能として何かないものかと) あるいはドラッグせず全て自分でDB接続から絞り込み、GridViewに値挿入まで一からやるしかないのでしょうか。 >もしくはGridViewのRowDataBindとかのタイミングで~ RowDataBoundイベントなんてものがあるんですね。 しかしこれはBindタイミングですので、ご指摘の通り最初からSQLで絞り込んだ方が早そうですね。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • tochansa
  • ベストアンサー率76% (23/30)
回答No.2

お望みの形かどうかはわからないですが、ちょっと考えてみました。 >デザイン側でGridViewにDBのテーブルをドラッグすることで、テーブルの内容がGridViewに表示される機能があるとおもいます。 とのことですので、GridViewとそれに対応するSqlDataSourceがデザイン上に配置されている状態なのだと考えます。 GridViewに表示される情報はSqlDataSourceの設定を元にしていますので、その設定内容を変更したらどうかなと思います。 以下に変更方法を記します。VS2005の画面を参考に作成しましたのでちょっと違いがあるかもしれません。 1.SqlDataSourceの右上のちいさな三角マークをクリックして、データソースの構成を選択します。 2.データソースの構成画面が開きます。データソースの選択は既に設定されているもので間違いないでしょうから「次へ」進みます。 3.Selectステートメントの構成という画面に遷移します。 「テーブルまたはビューから列を指定します」を選択し、表示対象のテーブル、列を選択。 そして、「WHERE」ボタンを押します。ここで絞り込みの設定ができます。  「列」を選択し「演算子」を「=」、「ソース」を「None」にして、パラメータの「値」を設定し、追加をします。 WHERE句が追加されたらOKを押します。  ※例えで設定内容を指定しちゃってます。必要に応じて変更して下さい。   「ソース」を「control」にしたりとか、あとで必要になりそうな気がします。 4.あとは「次へ」進んでいくだけです。 以上です。

ShimantoGa
質問者

お礼

実装できました。 私はVS2008でしたが基本同じやり方で実現できました。 SqlDataSourceをBindした結果をGridViewに出している、ということを正確に把握しておりませんでした。 動的にSQLを変える場合も同様にSqlDataSourceを変更すればよいみたいですね。 有難うございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ASP.NET GridView の二列表示

    ASP.NET GridView につきまして質問があります。 よろしくお願いいたします。 SQL Server にあるデータを使用して、GridView を作成しております。 普通にGridViewを作成すると すべて横一列で表示されてしまいます。 例えば項目列が沢山あると、画面を横スクロールしなくてはすべてが見えなくなってしまいます。 なるべく1画面ですべてを見渡せるようにしたいのですが、そのためには GridView での1データを2列表示にできればよいのではないかと思うのですが、 2列表示にできるのでしょうか? ご教授いただければ 大変助かります。 よろしくお願いいたします。

  • ASP.NET GridView につきまして

    ASP.NET GridView につきまして質問があります。 よろしくお願いいたします。 SQL Server にあるデータを使用して、GridView を作成しております。 あるBit型フィールドがあるのですが、NULLの場合は 無、1の場合には 有 と GridView内に表示させたいのですが、GridViewの項目はバインドされているフィールドしか表示させることができないのでしょうか? 非連結の項目を追加して どこかのプロパティに =IIf([CheckChoku]=True,"有","無") を記述すれば、表示できるような方法を探しています。 すみません ASP.Net は始めたばかりなので、VB や Access のような操作が応用できればなと思っております。もしくは SQL のデータソースを作成するときに上記を埋め込んでソースにしないと実現できないものでしょうか? ご教授いただければ 大変助かります。 よろしくお願いいたします。

  • GridViewにグループ化して表示させたい

    ASP.NETの勉強のためにチームのメンバーを管理する ページを作っています。 VisualWebDeveloper2008のVBで作っています。 DBにはチーム名とチームの所属メンバーとメンバー一覧の3テーブルがあります。 これらをJOINしてGridViewに表示させたいと思います。 検索結果ではAチームに3人いる場合、3レコード取得されます。 画面に表示させるときには1レコードでメンバーの列だけ3行にしたいと思います。 Templateを指定するとできそうな気がするのですが、メンバーを検索するデータソースの条件にその行のチームコードを指定する方法が分かりません。 よろしくお願いします。

  • GridViewの行の入れ替えについて

    VS2005 ASP.NET GridViewの列を動的に並び替える方法をさがしています. 具体的にはpage_load関数内で 別のファイルやユーザの設定した コントロールの値などから 表示する列を並びを入れ替えたいと思っています. 列のたいとるや数は変わりません。 お力添えをお願いいたします

  • GridViewに行追加するには?

    ObjectDataSourceをGridViewにバインドしてGridViewを表示しています。GridViewは1画面に20行固定で表示したいのですが、表示するデータが20行に満たない場合でも空白行を追加して、20行表示にしたい。空白行を追加するにはどうすればよろしいでしょうか? GridView1.Controls[0].Controls.AddAt(INDEX,GridViewRow)で追加できそうなのですが、GridViewRowの作成方法がわかりません。 よろしくおねがいします。

  • ASP GridViewで1レコード2行を1かたまりとして表示する。

    VS2005 C#にてASP WEBアプリを開発しております。 GridViewにて1レコードを2行単位で該当件数分表示したい。 その方法をご存知の方、ご教授頂けませんか? ============================================== ヘッダーヘッダーヘッダーヘッダーヘッダー ============================================== データ1 データ3 データ5 ---------------------------------------------- データ2 データ4 データ6 ============================================== データ1~6までを1単位として 該当件数分出力したい。

  • ASP.NET GridViewの表示

    お世話になります。 環境:Oracle10g、VisualStudio2005 ASP.NET(VB)、Winxp ASP.NETでのWEBサイト構築は初めてで、わからないことだらけ で試行錯誤しております。 GridViewでObjectDataSourceを使用し、データ表示をしたい のですが、ビジネスオブジェクトの選択で、リストボックス に選択項目が表示されません。リストボックスに選択項目と して表示される条件を教えて頂きたいです。 xsdファイルにDataTableとDataAdapterを作成しクエリを設定 するところまでやりました。 情報不足等あれば追記致しますので、宜しくご教授お願い致 します。

  • CommandFieldでの行毎表示切り替え

    ASP.NET(C#)を初めて使う者です。 GridViewにDBのデータをバインドし、先頭カラムをCommandFieldにして[削除]ボタンをつけています。 (<asp:CommandField ShowDeleteButton="True" />) DBからバインドした、別のあるカラムの値によって、この[削除]ボタンの表示/非表示を切り替えたいと思っています。いろいろ調べてみましたがやり方がわかりませんでした。 そもそも、CommandFieldで行毎に表示/非表示を切り替えることは可能なのでしょうか。

  • gridViewの行選択解除

    gridViewの行選択解除 windowsのvb.netでgridviewを使用しております。 ページを読み込んだ際にgridViewにデータを表示するのですが gridViewの先頭行が選択状態のまま表示されてしまいます。 未選択状態にすることは可能なのでしょうか? お分かりになる方がいらしゃいましたらよろしくお願い致します。

  • gridviewの値でセッション書きこみ

    現在、ASP.netにて以下のようなアプリを処理を実施しようとしています。 画面A(gridview使用) ------------------------------- 名前A | 項目A |備考A ------------------------------- 名前B | 項目B |備考B ------------------------------- 名前C | 項目C |備考C ------------------------------- ソース <asp:GridView ID="GridView" runat="server" AutoGenerateColumns="False" DataSourceID="ods1" > <Columns> <asp:BoundField DataField="namae" HeaderText="名前" SortExpression="namae" > </asp:BoundField> <asp:BoundField DataField="koumoku" HeaderText="項目" SortExpression="koumoku" > </asp:BoundField> <asp:BoundField DataField="bikou" HeaderText="備考" SortExpression="bikou" > </asp:BoundField> </Columns> </asp:GridView> このようなときに、2行目をクリックしたときは  session(name) = "B" のようにクリックする行によってsessionを書くにはどうのようにすでばよいのでしょうか? 対応方法があれば教えてください。

このQ&Aのポイント
  • DCP-J1200Nのスキャン方法がわからないというお悩みがあります。お使いのパソコンはWindowsで、接続方法は無線LANです。関連するソフト・アプリは特にないようです。電話回線の種類はIP電話です。
  • お困りの問題はDCP-J1200Nのスキャン方法がわからないということです。お使いのパソコンはWindowsで、接続は無線LANです。関連するソフト・アプリは特にないようです。電話回線の種類はIP電話です。
  • DCP-J1200Nのスキャン方法がわからないという問題があります。お使いのパソコンはWindowsで、接続は無線LANです。関連するソフト・アプリは特にありません。電話回線の種類はIP電話です。
回答を見る