• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:GridViewで特定のカラムでだけの操作)

GridViewで特定のカラムでだけの操作

このQ&Aのポイント
  • 現在、VB.net2010で開発しています。画面上に、GridViewを設置し、顧客の一覧を表示しています。ある特定のカラムでダブルクリックした時にのみ、その顧客のマスタ画面を開きたいと思っています。現在はセル上のどのカラムでも一覧が開いてしまっていますが、特定のカラムでだけにしたいのですが方法がわかりません。
  • 特定のカラムでだけの操作方法を教えてください。VB.net2010で開発している際に、画面上に表示されているGridViewにおいて、特定のカラムでダブルクリックした際にのみ、その顧客のマスタ画面を開きたいと思っています。現在はセル上のどのカラムでも一覧が開いてしまっており、特定のカラムでのみの操作が行えるようにする方法がわかりません。
  • VB.net2010でGridViewを使って顧客の一覧を表示しています。特定のカラムでダブルクリックした時にのみ、その顧客のマスタ画面を開くようにしたいのですが、今の状態ではセル上のどのカラムでも一覧が開いてしまっています。特定のカラムでのみの操作が行えるようにするためには、どのようにすればいいでしょうか?

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

  • ベストアンサー
  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.1

>現在はセル上のどのカラムでも一覧が開いてしまっています celldoubleclickイベント内でマスタ画面を開く処理をしているのでしょうか? 無条件に開くのではなく、例えば、e.ColumnIndex=0のときだけ処理を続行、それ以外はExitSub というような判定を入れてみてはどうでしょうか?

nrblue
質問者

お礼

回答いただいた内容で、コードのカラムでだけ 動作するようになりました。 ありがとうございました。

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

関連するQ&A

  • vb.netにてgridviewのソート

    vb.netにてgridviewのソートについてアドバイスをお願いいたします。 webページにてgridviewを使用しDBの内容を表示しております。 gridviewにテンプレートフィールドとしてチェックボックスを追加し、すでに登録されている(別DB内に格納)しているものにはチェックをつけております。 現在、マスタとなるDBから読み込んだ並びで表示されているところを チェックボックスがTRUEの行を昇順にて表示させることは可能でしょうか?

  • GridViewの行をダブルクリック

    GridViewで行をダブルクリックした時、その行の詳細画面を別ウインドウで表示したいのですが どのようにすればよいですか? web開発初心者なのでjavascriptもわからず苦戦しています。 できればコーディング例があればうれしいです。 ご教授お願いします。

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

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

  • エラーが出ます

    Stressmanと言います。 ACCESS2002を使っています。 今、「報告書」というフォームから「顧客」というフォームを開きます。 「顧客」フォームにはサブフォームとして「顧客一覧」のデータシート が組み込まれています。 「顧客一覧」の該当する行をダブルクリックしたら、フォームを閉じて、 「報告書」フォームの「顧客ID」にダブルクリックした顧客の「顧客ID」 がコピーされる。っていうのを実現させようとしています。 下記がそのコードです。 まず「報告書」フォームのコマンドボタンに下記のコードを設定 「顧客」フォームを開きます。 Private Sub コマンド110_Click() DoCmd.OpenForm "顧客", , , , acFormAdd, , Me.Name End Sub そして、「顧客」のサブフォームの「顧客一覧」(データシート)の ダブルクリックのイベントのところに下記のコードを設定 Private Sub Form_DblClick(Cancel As Integer) Dim strFormName As String strFormName = Me.OpenArgs ← エラー Forms(strFormName).[顧客ID] = Me.[Frm_04顧客マスタ_サブフォーム].Form.[顧客ID] DoCmd.Close acForm, Me.Name End Sub エラーがでるのがここです。 どうやら、Me.OpenArgsの値がNullらしいのですが、 どうやって回避すればいいのか、分かりません。 分かりにくい説明ですが、宜しくお願いします

  • IDとパスワードの取得

    先月より人事異動になり、ASPを始めることになりました。 顧客情報を管理するプログラムを勉強しています。いくつか質問させて下さい。 まず、ログイン画面より、入力されたIDとパスワードを 取得し、デーブルに格納する方法。 また、GridViewにより、顧客番号・顧客名・商品コード・・・・と表示されているとします。その時ボタン(GridView1_SelectedIndexChanged)を押して次ぎの顧客番号をもとに別の詳細画面を表示させたいのですが、どのようにしてクリックした行の顧客番号を取得すればよいのでしょうか。 稚拙な説明で申し訳ないのですが、どなたかよろしくお願い致します。

  • .NETのGridViewでテストデータの投入方法

    Microsoft Visual Studio 2008を使用しています。 ASP.NETのGridViewで、データソースを使用せずにテストデータを投入する方法を教えて下さい。 情けないくらいの初心者です。どうか助けてください。 表示だけを確認して画面整形したいので、データ部に『12345』などのテストデータを投入して表示させたいのですが、そのやり方が分かりません。 GridView自体の設置と、列の追加までは出来ています。が、肝心のデータを入れられないためにプレビューしても真っ白になってしまいます。 検索して調べた結果、ダミーのデータテーブルを作成してバインドする方法があったのですが、それをどこに書けばいいのか、また、関数名??をどうしたらいいのかが分かりません。 失礼ながら拾ったソースをそのまま拝借すると… DataTable table = new DataTable(); table.Columns.Add("data1"); table.Columns.Add("data2"); DataRow row1= table.NewRow(); row1["data1"] = "value1-1"; row1["data2"] = "value1-2"; table.Rows.Add(row1); DataRow row2 = table.NewRow(); row2["data1"] = "value2-1"; row2["data2"] = "value2-2"; table.Rows.Add(row2); GridView1.DataSource = table; GridView1.DataBind(); これを、vbの方に記述すればいいのでしょうか? また、function名といいますか、sub名?をどうしたらいいのかがわかりません。。 デザイン画面上でダブルクリックして自動生成されるソースだと Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged End Sub になるので、ちょっと違う気がします・・。 上の拝借したソースよりも、もう少し分かりやすく記述していただけると大変嬉しいです・・。 本当に本当に初心者で申し訳ありません!!! とても困っているので、どうか助けてください、宜しくお願い致します!

  • VBでMDBテーブルのKEYを指定した参照をしたい

    こんにちわ マスタデータのメンテナンス処理をVBで作ろうと思ってます。 MDBの顧客テーブルがあります。検索画面で顧客コードを入力して顧客テーブルより情報を表示して変更入力し、結果を顧客テーブルに反映更新する処理です。 検索画面で指定されたコードでテーブルを読むにはどのように書いたらよいのでしょうか。 皆様よろしくお願いいたします。

  • GridViewの項目編集(初歩)

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

  • VBAのopenformについて

    はじめまして。 現在、Accessを仕事で使うために勉強中です。 使用しているOSはWindowsXP、Accessは2003を使用しています。 顧客管理のデータベースのようなものを練習で作っているのですが、 作成した一覧のフォームから顧客コードを元に別のフォームを開けるように したいのですが、うまくいきません。 フォーム1:顧客一覧 フォーム2:顧客登録画面 このフォーム1とフォーム2は、同じテーブルを元にしたフォームです。 フォーム1の「顧客コード」というところをダブルクリックすると、該当の顧客コードの フォーム2が開くようにしたいと思い、フォーム1のテキストボックスに、 Private Sub 顧客コード_DblClick(Cancel As Integer) DoCmd.OpenForm "顧客登録", , , "[顧客コード] ='" & Me![顧客コード] & "'" End Sub と記載しましたが、いざ実行をすると 「OpenFormアクションの実行はキャンセルされました」 と表示されてしまいます。 どのようにしたら、この現象が回避でき希望する動きができるのかわからず悩んでおります。 すみませんが、解決する方法を教えていただければと思います。 宜しくお願いいたします。

  • 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を書くにはどうのようにすでばよいのでしょうか? 対応方法があれば教えてください。