2012-07-12 113 views
0

Gridview RowDataBound我禁用基於其值的超鏈接。但超鏈接文本變灰。
我想更改禁用超鏈接的前景色,以便我可以輕鬆地閱讀文本。如何改變gridview中禁用的超鏈接顏色?

我試着如下所述。

protected void gridResult_RowDataBound(object sender, GridViewRowEventArgs e) 
{  
    var hyperlink = e.Row.FindControl("hlink") as HyperLink; 
    if(hyperlink!= null && hyperlink.Text =="ABC") 
    { 
     hyperlink.ForeColor = Color.Black; 
     hyperlink.Enabled = false; 
    } 
} 
+0

可能是重複的[上不同的值更改單元格顏色 - 的GridView] [1] [1]:HTTP://計算器.com/questions/4427848/change-cell-color-on-different-values-gridview – Ram 2012-07-12 13:54:06

回答

0

設置前景色我想說添加class的鏈接,而不是設置前景色和使用CSS樣式殘疾人鏈接。

hyperlink.CssClass = "disabledLink"; 

然後在CSS:

.disabledLink { 
    color: #000 !important; 
} 
+0

我按照你的說法試過,但它沒有解決我的問題。它仍然變灰。我認爲我們不能將css類添加到禁用的超鏈接。 – Ranjith 2012-07-12 14:12:06

+0

是的,你可以添加一個CSS類到一個禁用的「HyperLink」。它可能會變灰,因爲.net放置了一個css類'aspNetDisabled',你的樣式可能會自定義。我向CSS添加了'!important',因此它覆蓋了當前的樣式。 – Candide 2012-07-12 14:35:40

0

我想你真正想要做的是啓用TextBox並將ReadOnly屬性設置爲true。

更改禁用文本框中文本的顏色有點棘手。我想你可能不得不繼承和重寫OnPaint事件。

0

您可以通過超鏈接

的CssClass屬性