ASP.NET GridViewでNULLの場合は無、1の場合は有と表示する方法

このQ&Aのポイント
  • SQL Serverにあるデータを使用して、ASP.NET GridViewを作成しています。あるBit型フィールドがあり、NULLの場合は無、1の場合は有と表示させたいです。しかし、GridViewの項目はバインドされているフィールドしか表示できません。非連結の項目を追加して条件分岐を行う方法や、SQLのデータソースを作成する際に条件を埋め込む方法などを教えてください。
  • ASP.NET GridViewでNULLの場合は無、1の場合は有と表示したいです。ただし、GridViewの項目はバインドされているフィールドしか表示できません。どのようにすれば条件に応じた表示を実現できますか?VBやAccessの操作を応用する方法や、SQLのデータソースに条件を埋め込む方法など、教えていただけると助かります。
  • 初めてASP.NETを使用しているため、GridViewで特定の条件に応じて表示を変える方法がわかりません。SQL Serverにあるデータを使用し、GridViewでNULLの場合は無、1の場合は有と表示したいです。バインドされているフィールドしか表示できないため、他の方法を探しています。VBやAccessの操作を応用できる方法や、SQLのデータソースに条件を埋め込む方法など、教えていただけると助かります。
回答を見る
  • ベストアンサー

ASP.NET GridView につきまして

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

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

  • ベストアンサー
  • hwoa1024
  • ベストアンサー率36% (122/336)
回答No.2

SQLの文章で処理してはどうですか? CheckChokuがカラム名ならこんな感じで。 SELECT ( CASE WHEN CheckChoku = null THEN '無' WHEN CheckChoku = 1 THEN '有' END ) AS CheckChoku FROM テーブル名 これで「null」か「1」で拾ってきていたデータを 「無」 、「有」でとれるのでそれをグリッドにバインドすればいいです。

kyokotan12
質問者

お礼

hwoa1024 さん お世話になります。 やはりSQL文自体をこのような形にしないと無理なんですね! GridViewの操作の一部がわかったような気がします。 このやり方で解決できました。 ありがとうございました。

その他の回答 (1)

  • onos
  • ベストアンサー率81% (127/155)
回答No.1
kyokotan12
質問者

お礼

onosさん ご指摘ありがとうございます。 一応、上記URLに書いてあった事を試してみたのですが、 デバックの際に、いろいろとエラーが表示されてしまい 実現はできなかったです。(こちらの操作ミスだと思われます) GridView のプロパティ を操作し表示を変えるというのは まだまだ力不足のわたくしにとりましては、敷居が高かったようです。 しかし、こんな方法もあったんだなと勉強になりました。 ありがとうございました。

関連するQ&A

  • ASP.NET GridView の二列表示

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

  • ASP.NET GridViewの表示

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

  • ASP.Net ObjectDataSource!

    お世話になります。 現在Access で作成されているアプリケーションをASP.Netに移植する為に日々精進しております。 GridView のデータソースを自由な感じでWhere条件にしたい事から、SQLDataSource から ObjectDataSource に切り替えた方が良いとのご指摘をうけ、現在作業を行っているのですが、問題が発生いたしました。 SQLDataSource ではSelectCommand に自作したSQL文を設定し、バインドすればGridView に反映できたのですが、 ObjectDataSource にはこのようなプロパティがないのですが、どのように設定すればよいのでしょうか? SQLDataSourceのように簡単には設定できず、特殊なやり方じゃないとダメなのでしょうか? なにぶんAsp.Netは初心者なので、何卒お願い申し上げます。

  • ASP.NET GridView の検索画面でのページング操作処理について

    ASP.NET・WindowsXP・ACCESS2003DB・ 2005ExpressEdition 検索画面を作成しましたがうまく動作しません教えてください。 1.条件入力用のテキストボックス幾つか作成。 2.検索ボタンを作成。 3.GridViewに上記の条件でSqlDatasourceより   データを表示できました。 4.1ページの件数10件を遥かにが多いため   GridView下段にページ番号が表示される 5.ページ番号をクリックすると、全データが表示   される。 条件入力した値でのSQL文のルーチンを通っていない 為と思われるが、GridView下段にページ番号を クリックしたときのイベントに条件ルーチンを 挿入したいのですが教えて頂けますでしょうか よろしくお願いいたします。

  • ASP GridViewの高さを固定にするには?

    GridViewで全角10文字がちょうど表示できる幅を設定した場合、 10文字を超えるデータを表示しようとするととセル内で折り返してしまいます。 折り返しせず、10文字だけ表示するにはどうすればいいのでしょうか? <div id="containerData" class="containerData" onscroll="containerHeader.scrollLeft=this.scrollLeft;" runat="server"> <asp:UpdatePanel ID="UpdPlView" runat="server" UpdateMode="Conditional"> <ContentTemplate> <asp:GridView ID="grdList" runat="server" CellPadding="0" AutoGenerateColumns="False" DataSourceID="sqldsList" ShowHeader="False" AllowPaging="False" ShowFooter="True" GridLines="None"> <Columns> <asp:TemplateField HeaderText=""> <ItemTemplate> <table cellspacing="0" class="detailRow"> <tr> <td style="width:100px;"><asp:Label ID="lbl1" runat="server" Text='<%# Eval("Field1") %>'></asp:Label></td> <td style="width:500px;"><asp:Label ID="lbl2" runat="server" Text='<%# Eval("Field2") %>'></asp:Label></td> </tr> </table> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </ContentTemplate> </asp:UpdatePanel> </div> </div> ***スタイルシート*** .containerData { font-size: 11pt; border: solid 1px black; height: 500px; } .detailRow tr { height:30px; background:white; } .detailRow td { border-bottom: 1px solid black; }

  • GridViewに行追加するには?

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

  • ASP.NETのGridViewでNULLの場合にチェックボックスにしたい

    ASP.net(VB)とSQLSERVERで開発しているのですが、SQLSERVERでストアドプロシージャでSELECT文を発行するSQLを書きました。 1)そのデータをGridViewで表示したのですが、列がNULLの場合にチェックボックスを表示したい。←これが分からない 2)チェックボックスがonの状態で実行ボタンが押下された場合に別のストアドプロシージャを走らせてNULLを「確認済」としたい。 (例) チェック   |名前 |メールアドレス 確認済    |Aさん|aaaa@test.co.jp □(チェックボックス) |Bさん|bbbb@test.co.jp [実行ボタン] このようにこのようなことはGridViewで可能なのでしょうか? それとも、HTMLコントロールを使用して一行ずつ書きこんでいくしかないのでしょうか? 返答をお待ちしております。

  • ASPとavascript

    はじめましてこんにちわ。 ただいまasp.net(vb)で開発をしております。 gridviewにバインドしています。 そこに新たにtextbox,LBLをいれています。 textboxに値が入力されたらjavascript(クライアント側)にてバインドした値*textboxをLBLにjavascriptを使って表示したいのですが方法がわかりません。 どなたか教えていただけないでしょうか??

  • GridViewの項目編集(初歩)

    いわゆるレガシー言語専門の技術者です。 事情があって、ASP.NETとVisualStudio2008(C#)でWebアプリを知人から頼まれて作っています。 クライアント/サーバ型のシステム開発歴は長いのですが、Web系は全くと言って良いほど経験がありません(個人商店のホームページを作ったくらいです)。 要件は以下のようになります。 検索条件を入力 →DBのマスタ検索 →対象データをGridViewに一覧表示 →項目を直接編集  ※解説サイトによくある、GridViewにボタンが配置してあって、ボタン押下で編集モードに移行する動きはNGです。あくまでも直接編集できなければいけません。 →入力後、更新ボタン押下により、画面情報でDB一括更新 この、GridViewの項目を直接編集するには、何というコントロールを使い、データベースと連動させるにはどうすれば良いのかが、さっぱりわかりません。 自力で頑張ってみたのですが、DBの値をGridViewに表示するには、asp:BoundField を使い、DataField にDBの項目名を指定すれば「表示」はされるところまでは確認できました。 ただ、これだと「編集」が出来ない...どうやら、asp:TemplateField というものを使うようだが、DBとバインドさせる方法は?編集可能にするには? ネットで色々と調べたのですが、(理解力が低いせいもあり)そのものズバリな表現で説明しているサイトは殆どなく、頭がパニックで力が尽きてしまいそうです。 私はWeb開発には向いていないのかも知れませんが、諸事情により、今回は何としてもやり遂げないといけません。 どなたか助けてください、よろしくお願いします。

  • ASP.NET:複数結合テーブルのデータ変更方法について

    ASP.NET:複数結合テーブルのデータ変更方法について こんにちは。 現在Visual Studio2008(ASP.NET、ADO.NET) +SQL Server2005 Stdの環境でデータベースを参照したWebアプリケーションを作成しています。 GridViewを使い、データベースの内容を表示し、修正や追加、削除を行いたいと思っています。 (SQLのUpdate,Insert,Deleteに該当) 主キーが設定された単独のテーブルに対しては、GridView内のデータソースでデータベースを選び、 該当のテーブルを選択。その後「INSERT,UPDATEおよびDELETEステートメントの作成」オプションを選ぶことでこれらの変更方法が簡単に実装できるのを確認しております。 しかし、主キー外部キーの関係を持つ2つ以上のテーブルを結合したものに関してこれらの変更を行う場合は通常どのようにするのでしょうか。 何かヒントになるキーワードや参考になるコードを教えていただけないでしょうか? 単独のテーブルの時と同じく、結合したテーブルデータ(ビューに該当)をGridViewに表示し、そのGridView上で変更を行いたいと思っています。 SQL Server側でこれらのテーブルを結合したViewを作成し、これを選ぶことでGridViewに表示する事が可能なのは確認したのですが、やはり「INSERT,UPDATEおよびDELETEステートメントの作成」オプションは選択できませんでした。 以上よろしくお願いいたします。

専門家に質問してみよう