none
GridViewへの行追加 RRS feed

  • 質問

  • GridViewを使ったメニュー作成を考えております。
    下記で動的なメニュー作成で質問させていただき、多数すばらしいレスをいただきました。

    http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=352635&SiteID=7

    現在、GridViewを使い、DBからカテゴリ一覧を取得してメニューを表示する仕組みまで
    成功できました。

    階層構造のカテゴリを組んでおり、階層の移動をID化し、以下の@ITで紹介される手法で、
    Urlのリクエストのパラメータ変数で渡して実現しております。

    http://www.atmarkit.co.jp/fdotnet/dotnettips/063linkdg/linkdg.html

    一覧の作成は、DBのSELECTクエリのReaderをGridViewのデータソースとしてバインド
    しております。

    これにより、メニュー一覧は作成されるのですが、一覧の最後に手動で HyperLinkField
    を追加し、トップページへリンクさせる行を上記バインド処理の後で行いたいと考えて
    おります。(追加した行はDBへは反映したくない)

    このように、手動で行追加を行うことはできるのでしょうか。
    調べているのですが、なかなか情報も無く、ご存知の方、ご教授いただけましたら幸いです。

    2006年4月25日 3:42

回答

すべての返信

  • 以下を参考にすればできるんじゃないかと思います。

    GridViewのHeaderRowについて
    http://forums.microsoft.com/msdn-ja/ShowPost.aspx?PostID=312902&SiteID=7

    2006年4月25日 4:43
    モデレータ
  • 早速のレス、ありがとうございます。
    参考になりました。
    TableCellにハイパーリンクを入れる方法を調べ、併せて実現することができました。

    感謝です。

    (以下、部分抜粋)

                TableCell cell = new TableCell();
                HyperLink link = new HyperLink();

                link.NavigateUrl = "http://localhost/";
                link.Text = "LocalHost";

                cell.Controls.Add(link);

                GridViewRow row1 = new GridViewRow(-1, -1, DataControlRowType.DataRow, DataControlRowState.Normal);

                row1.Cells.Add(cell);

                GridView1.Controls[0].Controls.AddAt(GridView1.Rows.Count + 1, row1);

    2006年4月25日 6:21