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

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

C# と VB.NET の入門サイト

Re[4]: DataTableへリンクデータの追加


(過去ログ 38 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■19929 / inTopicNo.1)  DataTableへリンクデータの追加
  
□投稿者/ studyC# (7回)-(2008/06/02(Mon) 16:47:55)

分類:[ASP.NET (C#)] 

2008/06/02(Mon) 16:49:58 編集(投稿者)

DataTableのとある列のデータをハイパーリンクにして、GridViewにバインドさせたいと思っています。

そこで、

DataTable table = new DataTable();
displayTable.Columns.Add("name", typeof(string));
displayTable.Columns.Add("link", typeof(string));

としてテーブルを作り、

DataRow row = table.NewRow();
row["name"] = "hoge";
row["link"] = "< a href=\"piyo\">link</ a>";
table.rows.add(row);

として、テーブルに値を格納して、

gridView1.DataSource = table;
gridView1.DataBind();

とバインドさせたのですが、案の上、aタグがエスケープされて表示されますorz

HyperLinkFieldをデータとして格納すればいいのかと試行錯誤したのですが、うまくいきませんでした。
何かわかる方がいらっしゃいましたらコメントいただけますでしょうか。
よろしくお願いいたします。


引用返信 編集キー/
■19930 / inTopicNo.2)  Re[1]: DataTableへリンクデータの追加
□投稿者/ はつね (764回)-(2008/06/02(Mon) 17:01:42)
はつね さんの Web サイト
No19929 (studyC# さん) に返信
> DataTableのとある列のデータをハイパーリンクにして、GridViewにバインドさせたいと思っています。

TemplateFieldフィールドに書いておいてURLだけ渡すようにしてもダメでしたっけ?
# 未確認です。

引用返信 編集キー/
■19945 / inTopicNo.3)  Re[2]: DataTableへリンクデータの追加
□投稿者/ studyC# (8回)-(2008/06/02(Mon) 22:09:05)
No19930 (はつね さん) に返信

コメントありがとうございます。
ASP.Netは勉強中なので、あまりわかってないのですが、私が書いたコードのように動的なやり方はしないのですね。
Temlate Field勉強してみます。
ありがとうございますm(_ _)m


引用返信 編集キー/
■19992 / inTopicNo.4)  Re[3]: DataTableへリンクデータの追加
□投稿者/ studyC# (9回)-(2008/06/03(Tue) 17:46:56)
今回私が作成しているものは、表示するテーブルのカラムが動的でないので、予め.aspxにHyperlLinkフィールドを定義しておくことでリンク列を作ることができました。
(質問時には、このように予め列を定義しておくことを知りませんでしたorz)

で、今回のケースはいいにしても、動的にテーブルを作って表示するようなケースはあると思います。
そういうとき、Asp.Netの世界では一般的にどのようにするのでしょうか。
想像では、HyperLinkFieldのインスタンスを作りDataTableに入れてリンクフィールドを作るようなことができると思っているのですが、うまくいきませんorz

動的なテーブルの作成方法について、何か情報を知ってる方がいましたら、コメントいただけると幸いです。


引用返信 編集キー/
■19993 / inTopicNo.5)  Re[4]: DataTableへリンクデータの追加
□投稿者/ いしだ (121回)-(2008/06/03(Tue) 19:33:21)
2008/06/03(Tue) 19:41:38 編集(投稿者)

こんばんは。

GridViewの列も動的に作成すれば良いんじゃないでしょうか。
HyperLinkFieldにするか、BoudFieldにしてHtmlEncodeをfalseにするか、又はTemplateField等でも良いと思います。

他には、RowDataBoundイベントでエスケープされた
< > "
を、無理やり置換する方法もあるかと思います(ちょっと強引か?)。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -