类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
我的一个Datalist每一行里有一个html单元格,我要求每一行的背景色都不一样,取一个随机的颜色,我自己在itemdatabound事件里写了,但是不对,结果每行颜色都一样,请教正确的写法?
private void dl_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
HtmlTableCell myt=(HtmlTableCell)e.Item.FindControl("td1");
if(myt!=null)
{
Random rd=new Random();
Color myco=Color.FromArgb(rd.Next(255),rd.Next(255),rd.Next(255));
myt.BgColor=myco.ToString();
}
}
网友回答:
应该用datagrid的AlternatingItemstyle属性
即myt.AlternatingItemstyle
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
If e.Item.ItemIndex = 0 Then
e.Item.Attributes.Add("style", "cursor:hand")
e.Item.CssClass = "HeaderStyle"
ElseIf e.Item.ItemIndex <> Session("row") - 1 Then
Dim i As Int32
For i = 0 To e.Item.Cells.Count / 2
e.Item.Cells.Item(2 * i).BackColor = System.Drawing.Color.Honeydew
Next
End If
If e.Item.ItemType = ListItemType.Footer Then
Dim myGrid As DataGrid = CType(sender, DataGrid)
CType(sender, DataGrid).Items(myGrid.Items.Count - 1).CssClass = "FooterStyle"
End If
End Sub
这是设置datagrid的表头、表尾和列间隔不同的颜色
试试这个:
private void dl_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
Random rd = new Random();
Color myco = Color.FromArgb(rd.Next(255),rd.Next(255),rd.Next(255));
e.Item.BgColor = myco.ToString();
}
e.Item 可以取到 TableRow。
e.Item.Cells 可以取到 TableCell。
e.Item 有没有 BgColor?或者你用 e.Item.Attributes.Add() 也可以。