- PR -

GridViewのHyperLinkFieldにて、リンク色を動的に変更する

1
投稿者投稿内容
クロト
会議室デビュー日: 2007/06/28
投稿数: 2
投稿日時: 2007-06-28 11:56
こんにちわ。
現在Visual Studio 2005にてC#でWedアプリを開発しています。
その中で、GridViewの該当する行のHyperLinkFieldのリンク色を変更したいのですが、CSSを使用してもうまくいきません。

HTML内
――――――――――――――――――――――――――――――――
<style type="text/css">
<!--
A.sample { text-decoration : underline }

A.sample:link { color : red; }

A.sample:hover { color : red; }

A.sample:active { color : red; }

A.sample:visited { color : red; }

-->
</style>

――――――――――――――――――――――――――――――


GridViewイベント

――――――――――――――――――――――――――――――

protected void GridView1_DataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// UnitsInStock フィールドの値を判定
int countdown = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "countdown"));
if (countdown <= 10)
// 行の背景色を yellow に設定
e.Row.CssClass = "sample";
}
}

――――――――――――――――――――――――――――――
デバックで表示させた際、本来変わるはずのリンク色が全く変わっていません。
何か解決法はあるのでしょうか?
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2007-06-28 13:03
GridViewから生成されたHTMLがどのようになっているか、それとCSSの設定があっているか、そのあたりは確認してます?
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2007-06-28 13:34
e.Row(html上では<tr>)にCssClassを設定しても、A.sample(つまりaタグ用)となっているスタイルは
効かないでしょう。hyperlinkコントロールを取得してCssClassを設定するか、スタイルシートの記述を
「sampleの配下にあるaタグ用」とかに変えるかでしょう。
クロト
会議室デビュー日: 2007/06/28
投稿数: 2
投稿日時: 2007-06-28 14:30
返信ありがとうございます。

>スタイルシートの記述を
>「sampleの配下にあるaタグ用」とかに変えるかでしょう。

この通りやってみたところ、正常に稼動しました。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)