데이터 바 인 딩 시 Repeater 의 데이터 가 줄 색상 을 바 꾸 는 것 을 판단 합 니 다.

3197 단어 cexceptionobjectClass
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)
                {
                    //
                }
            }
        }


좋은 웹페이지 즐겨찾기