我有超鏈接在DataGrid控件如何動態地更改超鏈接的顏色在DataGrid中在Asp.net
我想要做的是,我需要(根據條件)來動態改變超鏈接的顏色
像
如果狀態=登錄用戶名,然後顏色應該是綠色的,如果狀態=註銷用戶名,然後顏色應與紅色。
我嘗試過以下,但無法獲得第一列或文本。
同樣的事情,我可以申請其餘的列期望第一個(超鏈接)。
請幫助我。
我有超鏈接在DataGrid控件如何動態地更改超鏈接的顏色在DataGrid中在Asp.net
我想要做的是,我需要(根據條件)來動態改變超鏈接的顏色
像
如果狀態=登錄用戶名,然後顏色應該是綠色的,如果狀態=註銷用戶名,然後顏色應與紅色。
我嘗試過以下,但無法獲得第一列或文本。
同樣的事情,我可以申請其餘的列期望第一個(超鏈接)。
請幫助我。
您需要更正此兩件事情:
細胞指數是基於0。你應該有rv.Row.ItemArray[2]
而不是 的rv.Row.ItemArray[3]
。
單元格指的是<td>
而不是<a>
標記。
我會切換類的<td>
在這樣的代碼:
protected void dgBoundItems(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataRowView rv = (DataRowView)e.Item.DataItem;
if (rv.Row.ItemArray[2].ToString() == "Sign In")
{
e.Item.Cells[0].Attributes.Add("class", "signin");
}
else
{
e.Item.Cells[0].Attributes.Add("class", "signout");
}
}
}
而且在我的網頁我已經添加CSS類像這樣(頁頭):
<head runat="server">
<title></title>
<style>
.signout a:link {
font-weight:normal;
color:red;
}
.signin a:link {
font-weight:bold;
color:green;
}
</style>
</head>
以下是它的外觀:
你可以做到以下幾點:
if (YourConditionOverHere){
e.Item.Cells[0].CssClass = HyperLink1.CssClass = "CssStyle2";
else
e.Item.Cells[0].CssClass = HyperLink1.CssClass = "CssStyle1";
//Or you can use
//e.Item.Cells[0].BorderColor = System.Drawing.Color.Black;
//Or
//e.Item.Cells[0].Color.FromArgb(0x0000aaaa);
}
非常感謝你.... :) – Nimesh