C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.69139 の関連記事表示

<< 0 >>
■69139  グリッドビューのリンクを変更する
□投稿者/ 黒霧島 -(2013/12/06(Fri) 00:02:05)

    分類:[ASP.NET (VB)] 

    現在、VBとASPでシステムを開発しています。

    そこで1箇所困っている箇所があって質問させていただきます。

    DBからデータを取得しグリッドビューに表示しています。その列の一つにHyperLinkFieldを使用しており、クリックするとDBから取得したデータの一つをパラメータに持たせて画面遷移したいと考えています。デザイナーからDataNavigateUrlFormatStringにurlを設定した場合、思っていた通りの動作をすることが出来ました。しかし、遷移したいと思っている画面は一つではなく、画面のコントールで切り替えたいと考えています。しかしDataNavigateUrlFormatStringをプログラムから変更する方法が調べてみても、見つかりませんでした。
    もし、DataNavigateUrlFormatStringをプログラムから変更する方法をご存知のかたがおられましたら教えていただきたいと思います。
    また、別の方法があればそちらも大歓迎です。

    よろしくお願いします。
親記事 /過去ログ118より / 関連記事表示
削除チェック/

■69140  Re[1]: グリッドビューのリンクを変更する
□投稿者/ WebSurfer -(2013/12/06(Fri) 00:42:55)
    No69139 (黒霧島 さん) に返信
    > 画面のコントールで切り替えたいと考えています。

    そこを具体的(あくまでも具体的に・・・即ち、掲示板の反対側にいて、掲示板に書
    いてあること以外に、何も知りえない回答者に分かるように)どういうタイミングで、
    どこから URL を取得して、HuperLink に設定したいのか書いてください。
記事No.69139 のレス /過去ログ118より / 関連記事表示
削除チェック/

■69142  Re[2]: グリッドビューのリンクを変更する
□投稿者/ 黒霧島 -(2013/12/06(Fri) 02:42:35)
    No69140 (WebSurfer さん) に返信
    > ■No69139 (黒霧島 さん) に返信
    >>画面のコントールで切り替えたいと考えています。
    >
    > そこを具体的(あくまでも具体的に・・・即ち、掲示板の反対側にいて、掲示板に書
    > いてあること以外に、何も知りえない回答者に分かるように)どういうタイミングで、
    > どこから URL を取得して、HuperLink に設定したいのか書いてください。

    返信ありがとうございます。

    URLは定数として予め宣言しておき、画面に設置してあるドロップダウンリストの値を変更するとリンク先が変更されるようにしたいと考えています。ようするにドロップダウンの変更イベントかロード時のイベントでリンク先を変更させたいということです。
記事No.69139 のレス /過去ログ118より / 関連記事表示
削除チェック/

■69143  Re[3]: グリッドビューのリンクを変更する
□投稿者/ WebSurfer -(2013/12/06(Fri) 04:07:23)
    No69142 (黒霧島 さん) に返信
    > URLは定数として予め宣言しておき、画面に設置してあるドロップダウンリストの値を変更するとリンク先が変更されるようにしたいと考えています。ようするにドロップダウンの変更イベントかロード時のイベントでリンク先を変更させたいということです。

    依然として意味不明です。ご自分ではそれが分からないのかもしれませんが・・・
記事No.69139 のレス /過去ログ118より / 関連記事表示
削除チェック/

■69144  Re[4]: グリッドビューのリンクを変更する
□投稿者/ 黒霧島 -(2013/12/06(Fri) 07:47:17)
    No69143 (WebSurfer さん) に返信
    > ■No69142 (黒霧島 さん) に返信
    >>URLは定数として予め宣言しておき、画面に設置してあるドロップダウンリストの値を変更するとリンク先が変更されるようにしたいと考えています。ようするにドロップダウンの変更イベントかロード時のイベントでリンク先を変更させたいということです。
    >
    > 依然として意味不明です。ご自分ではそれが分からないのかもしれませんが・・・

    結局私が知りたいのはグリッドビューのHyperLinkFieldのDataNavigateUrlFormatStringをVB側から変更する方法です。
記事No.69139 のレス /過去ログ118より / 関連記事表示
削除チェック/

■69150  Re[5]: グリッドビューのリンクを変更する
□投稿者/ an -(2013/12/06(Fri) 11:05:38)
    No69144 (黒霧島 さん) に返信

    > URLは定数として予め宣言しておき、画面に設置してあるドロップダウンリストの値を変更するとリンク先が変更されるようにしたいと考えています。ようするにドロップダウンの変更イベントかロード時のイベントでリンク先を変更させたいということです。

    > 結局私が知りたいのはグリッドビューのHyperLinkFieldのDataNavigateUrlFormatStringをVB側から変更する方法です。



    DataNavigateUrlFormatStringを変更する方法は

     対象のオブジェクト.DataNavigateUrlFormatString = "〜〜URL〜〜"(または定数)

    でできると思うので、これに困っているわけではないですよね?


    推測するに対象のオブジェクトの取得に困っているのではないでしょうか?
    もしそうであれば、ドロップダウンの変更イベントで、

     対象のグリッドビューのItemsプロパティでループ
    →各行のItemを取得(DataGridItemクラス)
    →ItemのCellsプロパティより対象の列のItem取得(TableCellクラス)
    →取得したItem(TableCellクラス)をDataControlFieldCellクラスにキャスト
    →キャストしたオブジェクトのContainingField(DataControlFieldクラス)をHyperLinkFieldクラスにキャスト
    →キャストしたオブジェクトのDataNavigateUrlFormatStringに値を設定

    という風に行えないでしょうか?


    #環境がないので試していません。
    #また昔の情報と開発環境のオブジェクトブラウザを元に書いてますので、間違っているかも・・・?
    #そもそも見当違いかもしれませんが・・・
記事No.69139 のレス /過去ログ118より / 関連記事表示
削除チェック/

■69156  Re[5]: グリッドビューのリンクを変更する
□投稿者/ WebSurfer -(2013/12/06(Fri) 15:23:14)
    No69144 (黒霧島 さん) に返信
    > ■No69143 (WebSurfer さん) に返信
    >>■No69142 (黒霧島 さん) に返信
    > >>URLは定数として予め宣言しておき、画面に設置してあるドロップダウンリストの値を変更するとリンク先が変更されるようにしたいと考えています。ようするにドロップダウンの変更イベントかロード時のイベントでリンク先を変更させたいということです。
    >>
    >>依然として意味不明です。ご自分ではそれが分からないのかもしれませんが・・・
    >
    > 結局私が知りたいのはグリッドビューのHyperLinkFieldのDataNavigateUrlFormatStringをVB側から変更する方法です。

    当方は無駄なことは聞いていません。回答者からの質問には、もっと謙虚に答え
    るようにしてはいかがですか?

    なぜ、どこから URL を取得して、GridView のどの行の HyperLink に設定する
    のか等の詳細が書けないのですか?

    こちらが DataNavigateUrlFormatString を書き換える方法を教えても、それが
    上記の条件を加味した質問者さんのやりたいこととと合わなければ意味がないの
    ですが。


    質問者さんの最終目的が果たせるかどうか分かりませんが、書き換えるだけなら、
    GridView の HyperLinkField から当該セルに生成されるのは HyperLink コント
    ロールなので、DropDownList の SelectedIndexChanged のタイミングで、目的の
    セルから HyperLink コントロールを探して、その NavigateUrl プロパティを書
    き換えることで可能です。

    以下のような感じです。

    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
    foreach (GridViewRow row in OrdersGridView.Rows)
    {
    foreach (Control control in row.Cells[2].Controls)
    {
    if (control is HyperLink)
    {
    HyperLink link = (HyperLink)control;
    link.NavigateUrl = "<書き換える URL>";
    }
    }
    }
    }
記事No.69139 のレス /過去ログ118より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -