关于数据绑定的时候判断Repeater中数据改变其整行颜色

PagedDataSource版

 
protected void rpInCome_ItemDataBound(object sender, RepeaterItemEventArgs e)
 {

      if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
            {
                Repeater rpInCome = (Repeater)sender;
                try
                {
                    PagedDataSource pds = (PagedDataSource)rpInCome.DataSource;
                    if (pds.Count == 0)
                        return;

                    IEnumerator enumrator = pds.DataSource.GetEnumerator();
                    int ncount = 0;
                    while (enumrator.MoveNext() && ncount != e.Item.ItemIndex)
                        ncount++;

                    DataRowView dr = (DataRowView)enumrator.Current;

                    double dValue = dr["CurrentEarn"] == DBNull.Value ? 0 : Convert.ToDouble(dr["CurrentEarn"].ToString());
                    HtmlControl c = (HtmlControl)e.Item.FindControl("row");
                    if (dValue < 0)
                    {
                        c.Attributes["class"] = "green";
                    }
                    else if(dValue>0)
                    {
                        c.Attributes["class"] = "red";
                    }
                }
                catch (Exception ex)
                {
                    //
                }
        }
}
//Datatable版
protected void rpInCome_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
            {
                Repeater rpInCome = (Repeater)sender;
                try
                {
                    DataTable dt = (DataTable)rpInCome.DataSource;
                    if (dt.Rows.Count == 0)
                        return;
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        double dValue = dt.Rows[i]["CurrentEarn"] == DBNull.Value ? 0 : Convert.ToDouble(dt.Rows[i]["CurrentEarn"].ToString());
                        HtmlControl c = (HtmlControl)e.Item.FindControl("row");
                        if (dValue < 0)
                        {
                            c.Attributes["class"] = "green";
                        }
                        else if (dValue > 0)
                        {
                            c.Attributes["class"] = "red";
                        }
                    }
                }
                catch (Exception ex)
                {
                    //
                }
            }
        }

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值