星期四, 8月 28, 2014

[C#] 根據條件變化顏色

論壇問題
根據資料指定其背景顏色
  • 1 => 藍色
  • 2 => 紅色
  • 3 => 黃色
  • 4 => 綠色
using System.Data;
using System.Drawing;

namespace ConditionColor
{
    public partial class ConditionColor : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                DataTable dt = new DataTable("Demo");
                dt.Columns.Add("DataSeq", typeof(int));
                dt.Columns.Add("Kind", typeof(int));
                dt.Rows.Add(1, 4);
                dt.Rows.Add(2, 3);
                dt.Rows.Add(3, 1);
                dt.Rows.Add(4, 2);
                dt.Rows.Add(5, 3);
                dt.Rows.Add(6, 2);
                dt.Rows.Add(7, 1);
                dt.Rows.Add(8, 4);

                gvData.DataSource = dt;
                gvData.DataBind();
            }
        }
        // 在 RowDataBound 事件內設定顏色變化
        protected void gvData_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            // 判斷 RowType 是不是 DataRow
            if (e.Row.RowType != DataControlRowType.DataRow) return;
   
            // 抓出該資料並設定其背景顏色
            string kind = e.Row.Cells[1].Text;
            switch (kind)
            {
                case "1":
                     e.Row.Cells[1].BackColor = Color.Blue;
                     break;
                case "2":
                     e.Row.Cells[1].BackColor = Color.Red;
                     break;
                case "3":
                     e.Row.Cells[1].BackColor = Color.Yellow;
                     break;
                case "4":
                     e.Row.Cells[1].BackColor = Color.Green;
                     break;
                default:
                     break;
            }
        }
    }
}
[ASP.NET] 根據條件變化顏色

沒有留言:

張貼留言