好像只可以对整个控件设置其属性。

解决方案 »

  1.   

    还有一个Alter什么的,设置交替行颜色的你也可以在绑定事件里面设置吧
      

  2.   

    那有没有可能将每行的repeatcolume设置成不同的值呢?
      

  3.   

    如果一行的颜色都要要不同,在服务器端可以在ItemBounded事件中一个单元格一个单元格的改,也可以在客户端用javascript修改
      

  4.   

    楼上:
    在服务器端可以在ItemBounded事件中一个单元格一个单元格的改,
    怎么改呀?
      

  5.   

    msdn上看到如下代码,烦高手改称c#
    Protected Sub FormatRepeaterRow(ByVal sender As Object,
        ByVal e As RepeaterItemEventArgs)
      If e.Item.ItemType = ListItemType.Item Or _
          e.Item.ItemType = ListItemType.AlternatingItem Then
        Dim dbr As DbDataRecord = CType(e.Item.DataItem, DbDataRecord)
        If Not IsDBNULL(dbr("Country")) AndAlso dbr("Country") = "USA" Then
          CType(e.Item.FindControl("lblContactName"), Label).ForeColor = _
              System.Drawing.Color.Red
        End If
      End If
    End Sub

    再次运行该项目。由于 ItemDataBound 事件处理程序中包含的条件格式设置代码,来自美国的联系人(13 个,共 91 个客户)将以红色显示。 
      

  6.   

    <asp:DataList ID="list" runat="server" OnItemDataBound="list_ItemDataBound">
            <ItemTemplate>
                <asp:Label ID="lbl" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "name")%>'></asp:Label>
            </ItemTemplate>
        </asp:DataList>在后台代码中
    protected void Page_Load(object sender, EventArgs e)
        {
            DataTable table = new DataTable();
            table.Columns.Add("name");
            for (int i = 0; i < 20; i++)
            {
                DataRow row = table.NewRow();
                row["name"] = i;
                table.Rows.Add(row);
            }
            this.list.DataSource = table;
            this.list.DataBind();
        }
    protected void list_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item ||
                e.Item.ItemType == ListItemType.AlternatingItem)
            {
                DataRowView drv = (DataRowView)e.Item.DataItem;
                
                if (!(drv.Row.ItemArray[0] is DBNull) && 
                    Convert.ToInt32(drv.Row.ItemArray[0]) % 2 == 0)
                {
                    Label lbl = (Label)e.Item.FindControl("lbl");
                    lbl.ForeColor = Color.Red;
                }
            }
        }
      

  7.   

    可行了:
        protected void DataList1_ItemDataBound1(object sender, DataListItemEventArgs e)
        {
            if (((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem)) && DataList1.DataKeys[e.Item.ItemIndex].ToString().Trim() == "1")
                ((Label)e.Item.FindControl("lb")).BackColor = System.Drawing.Color.Gray;
        }
      

  8.   

    我这个只是很简单的例子
    主要是list_ItemDataBound这个事件
    在这个事件中你可以得到当前的数据以及模板列的东西
    然后你可以设置你想要的格式你可以自己Google一下DataList ItemDataBound关键字