- - PR -
DataGridのHyperLinkColumnで複数リンク指定
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-02-19 19:33
セッション変数に遷移してきた画面によってフラグを設定しています。そのフラグを元にDataGridのHyperLinkColumnでそれぞれの画面に対応するリンク先の指定を行いたいのですが可能でしょうか?
よろしくお願いします。。。 <Columns> ・ ・ <asp:HyperLinkColumn DataNavigateUrlField="Data" DataNavigateUrlFormatString="ABC.aspx?No={0}" DataTextField="Data" HeaderText="データ" DataTextFormatString="No.{0}"> </Columns> |
|
投稿日時: 2004-02-23 13:18
DataGridに割り当てるData列の内容(No)は同一だが、フラグの状態によって
http://xxxx.aspx?No= のxxxx.aspx部分を動的に変更したいのでしたら、 DataGridのDataNavigateUrlFormatStringを変更すれば可能だと思います。 以下はサンプルコードです。 DataTable dt = new DataTable(); DataRow dr; //テスト用セッションの設定 Session["Flag"] = 3; //テスト用データの格納 dt.Columns.Add(new DataColumn("Data", typeof(string))); for(int i=1; i<=5; i++){ dr = dt.NewRow(); dr["Data"] = i.ToString(); dt.Rows.Add(dr); } HyperLinkColumn hc = (HyperLinkColumn)DataGrid1.Columns[0]; hc.Target="_blank"; hc.DataNavigateUrlField="Data"; hc.DataTextField="Data"; switch((int)Session["Flag"]){ case 1: hc.DataNavigateUrlFormatString="http://ABC.aspx?No={0}"; break; case 3: hc.DataNavigateUrlFormatString="http://DEF.aspx?No={0}"; break; } DataView dv = new DataView(dt); DataGrid1.DataSource = dv; DataGrid1.DataBind(); ※DataGrid1.Columns[0]はURLを表示するカラムです ※Target、DataNavigateUrlField、DataTextFieldは プロパティビルダで設定しても構いません。 ※DataNavigateUrlFormatString に関しては以下のURLを参照願います。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwebuiwebcontrolshyperlinkcolumnclassdatanavigateurlformatstringtopic.asp [ メッセージ編集済み 編集者: 聖人@SKB 編集日時 2004-02-23 19:05 ] |
|
投稿日時: 2004-02-23 18:54
回答ありがとうございましたっ。
早速、コーディングしたところ、いとも簡単に複数ページに 遷移するようになりました。 貴重な情報、本当にありがとうございます。 |
1