none
GridViewタスクのテンプレート編集で、Linkbuttonについて RRS feed

  • 質問

  • LinkButtonを使用して、Link先へ遷移する定義を行うのですが、以下の条件の際は、linkButtonを押せないようにする方法を教えて下さい。 例) 画面一覧から選択項目より、リンク先が0件の時は、Linkbuttonを無効にして、リンク先の画面が1件以上のときに、LinkButtunを無効にする。 判定により、Buttonのリンクを有効無効にする方法があれば教えて下さい。  画面一覧のテーブルと画面リンク先のテーブルは、別テーブルです。 現状 1 AAA  ⇒ 画面B 0件画面表示 2 BBB ⇒  画面B 1件画面表示 テーブルYの画面一覧 変更したい画面 1 AAA  ⇒ テ-ブル内にAAAキーのデータが0件のためリンクを押せない。 2 BBB  ⇒  テーブル内にBBBキーのデータが1件以上のためリンクできる。

    テーブルYにテーブルXのデータが存在するかどうかの情報がない状態。

    テーブル内にキーのデータ存在するかどうかは、テーブルXをアクセスして判定する必要があります。  環境は、以下の通りです。 システム:WIN 2008 Server Pack2 DB:SQL Server 2008 Visual Developer 2008 Express Edition NET.Framework 3.0 ASP.net 3.0


    
    2012年11月26日 4:24

回答

  • んと、なによりまずSQL文を利用してテーブル検索する方法を学習しましょう。
    ADO.NETを使うことになるかと思いますが、様々なアプリケーションで必要となる基本といってもいい技術です。
    そのレベルから掲示板でやりとりして答えまでたどりつけるようにするのはあまりに大変すぎます。

    私からはこのアドバイスまでで終了させていただきます。


    あおい情報システム株式会社 小野修司(どっとねっとふぁん)

    • 回答としてマーク tanuyoshi 2012年11月27日 7:48
    2012年11月27日 5:40

すべての返信

  • http://social.msdn.microsoft.com/Forums/ja-JP/vwdexpressja/thread/a42bb2fb-5df0-4918-8236-8c37193bbe48

    この話題の応用でしかないと思いますが。
    LinkButtonの表示判定のプログラムにキー項目わたして、テーブルXにアクセスして件数みて表示するかどうか判定すればよいと思います。


    あおい情報システム株式会社 小野修司(どっとねっとふぁん)

    2012年11月26日 5:37
  • 回答有難うございます。
    ご指摘の通りだと思います。
    データ内容のチェックを前回行なっていて判定してリンクの有無を判断していますが、
    今回、条件が、データ内容と、表示行の別の項目をキーとしてテーブルの有無をテーブルにアクセスして判定する処理が必要だと考えています。

    具体的な、作成方法、ソースレベルでわかるようなサンプルがあるurl等があれば、教えて下さい。
    よろしくお願いします。


    • 編集済み tanuyoshi 2012年11月27日 1:16
    2012年11月26日 6:39
  • > 今回、条件が、データ内容と、表示行の別の項目をキーとしてテーブルを有無をテーブルを
    > アクセスして判定する処理が必要だと考えています。

    チェックプログラムに渡すデータは1つである必要はありません。
    プログラム側が複数の引数を受け取るようにすれば、必要な数の値を渡せます。
    チェックのためのデータの内容と、キーとなる項目をチェックプログラム側に渡せばいいだけの話かな、と思います。

    #チェックプログラム中でテーブルにアクセスして内容を判断するのは普通にデータベースに
     接続して値を取り出すのと同じですから、こちらの説明はいりませんよね?


    あおい情報システム株式会社 小野修司(どっとねっとふぁん)

    2012年11月26日 9:16
  • 失礼ながら、質問文の日本語自体が意味不明です。

    GridView のテンプレートに配置した LinkButton を何らか
    の条件で有効 or 無効にしたいということのようですが、
    その「何らかの条件」というのが、質問に書いてあること
    からは全くわかりません。

    条件を判定することは自力でできるのでしょうか?

    できるのであれば、今の時点でアドバイスできることは、
    「RowDataBound イベントでのハンドラで条件を判定して、
    LinkBottun の Enabled プロパティを設定してはいかが」
    という程度です。

    url を紹介して欲しいとかありますが、質問がわからないの
    で無理です。

    日本語が苦手でしたら、他の言語のフォーラムもあるようで
    すので、得意な言語のフォーラムがあれば、そちらで質問し
    てはいかがですか。

    2012年11月26日 12:08
  • 回答有難うございます。

    
    #チェックプログラム中でテーブルにアクセスして内容を判断するのは普通にデータベースに
      接続して値を取り出すのと同じですから、こちらの説明はいりませんよね?
    
    ⇒できれば、でテーブルにアクセスして内容を判断するのは普通にデータベースに  接続して値を取り出す部分のお願いします。
    例)テーブル検索後の0件の判定方法
    

    よろしくお願いします。

    2012年11月27日 2:15
  • 回答有難うございます。
    
    質問文章で、誤字や「てにをは」に、誤りがあり、文書がわかり難い文章になってしまい、
    すいません。
    
    条件を判定することは自力でできるのでしょうか?
    ⇒デザインを使用し、画面を設計し、テーブル検索し画面を表示することはできるのですが、今回のような条件があり、テーブル検索を行うことが自力で作成することができないため、FAQをしています。
    テーブル検索を行うことを自力で作成することができないために
    参考になるものがあれば、参照しますので、よろしくお願いします。


    2012年11月27日 2:31
  • んと、なによりまずSQL文を利用してテーブル検索する方法を学習しましょう。
    ADO.NETを使うことになるかと思いますが、様々なアプリケーションで必要となる基本といってもいい技術です。
    そのレベルから掲示板でやりとりして答えまでたどりつけるようにするのはあまりに大変すぎます。

    私からはこのアドバイスまでで終了させていただきます。


    あおい情報システム株式会社 小野修司(どっとねっとふぁん)

    • 回答としてマーク tanuyoshi 2012年11月27日 7:48
    2012年11月27日 5:40
  • 回答有難うございます。

    了解しました。

    2012年11月27日 7:49
  • すでに終わったようですので、今さらレスは不要かもしれませんが・・・

    > テーブル検索を行うことを自力で作成することができない
    > ために参考になるものがあれば、参照しますので、よろし
    > くお願いします。

    参考になるものと言われても、質問内容が不明な今の時点では「ADO.NET, SQL Server などをキーワードに検索して、自分の目的に合ったものを見つけてください」と答えるのがせいぜいです。

    前のレスで「質問が分らない」と申し上げているのに、それに答えてきちんと説明してもらえないないのでしょうか?

    一度、身近な人に質問文を読んでもらって、今の質問内容で理解できるかどうか聞いて、できれば添削してもらって、掲示板に書いてあること以外は何も知り得ない他人が読んで理解できるように書き直してアップすることをお勧めします。

    それをしてもらえない限り、こちらからはこれ以上アドバイスできることはありません。


    #文章にコードスニペットを使わないでください。非常に見づらいです。

    #FAQ というのは Frequently Asked Questions の略で "よくある質問" という意味です。なので、「FAQをしています」は使い方が間違ってます。日本語のみならず、用語も正しく使いましょう。


    • 編集済み SurferOnWww 2012年11月27日 13:19 一部修正
    2012年11月27日 13:17
  • SurferOnWww様へ

    色々とご指摘、有難うございます。

    ご指摘の通り、FAQの用語も使用方法が、間違えていました。
    用語は、正しく使用する様にします。
    質問内容を簡単に説明すると、一覧画面から画面遷移する前に、遷移先で検索するテーブルを検索し、データが0件の場合は、一覧画面で画面遷移表示をしないようにする方法です。
    テーブルを検索し0件の判定方法が、判らないため、質問しました。
    回答者の方に、質問の意味がわかるような質問表現を解りやすく記述する様に心掛けたいです。


    • 編集済み tanuyoshi 2012年12月5日 7:01
    2012年12月5日 6:48
  • > テーブルを検索し0件の判定方法が、判らないため、質問しました。

    それだけの情報ですと、「Transact-SQL の COUNT 関数を利用してはいかがでしょう」と言える程度です。

    COUNT (Transact-SQL)
    http://msdn.microsoft.com/ja-jp/library/ms175997(v=sql.100).aspx

    この先、COUNT 関数を使ってどのようなクエリを組み立てるか、それを ADO.NET を使ってどのように SQL Server にクエリを投げて、どのようにデータを取得し、取得したデータでどのように LinkBottun を設定するかがチャレンジだと思いますが、それを一から十まで掲示板で説明するのは無理です。

    もう少し基本的な知識をつけて、ある程度自力で実装できるようになってから、どうしても分からないところを質問するようにすることをお勧めします。

    2012年12月5日 12:37
  • COUNT関数について調べました。
    • 編集済み tanuyoshi 2012年12月6日 8:22
    2012年12月6日 8:08
  • 返信メール内容を削除しました。
    • 編集済み tanuyoshi 2012年12月6日 8:18 削除のため
    2012年12月6日 8:13