四,datagrid填充

  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Web;
  5. using System.Web.Security;
  6. using System.Web.UI;
  7. using System.Web.UI.WebControls;
  8. using System.Web.UI.WebControls.WebParts;
  9. using System.Web.UI.HtmlControls;
  10. using System.Drawing;
  11. /// <summary>
  12. /// 建立该类,来调整数据控件的行数,及行数宽度。并且构造颜色的方法,对数据行进行填充,
  13. /// 数据控件有DataGrid和GridView,针对这两个
  14. /// 控件各自建立不同的方法
  15. /// </summary>
  16. public class DataRowColor
  17. {
  18.     
  19.     //私有属性
  20.     private int _num;
  21.     private int _total;
  22.     private int _cellcount;
  23.     private string _OddColor = "#FFFFFF";
  24.     private string _EvenColor = "#B9FEB7";
  25.     private string _mousecolor = "#63F087";
  26.     public DataRowColor()
  27.     {
  28.         //
  29.         // TODO: 在此处添加构造函数逻辑
  30.         //
  31.     }
  32.     //构造函数,初始化颜色值
  33.     public DataRowColor(string OddColor, string EvenColor, string MouseColor)
  34.     {
  35.         this._OddColor = OddColor;
  36.         this._EvenColor = EvenColor;
  37.         this._mousecolor = MouseColor;
  38.     }
  39.     //公共属性
  40.     public int num
  41.     {
  42.         set { this._num = value; }
  43.         get { return this._num; }
  44.     }
  45.     public int total
  46.     {
  47.         set { this._total = value; }
  48.         get { return this._total; }
  49.     }
  50.     public int cellcount
  51.     {
  52.         set { this._cellcount = value; }
  53.         get { return this._cellcount; }
  54.     }
  55.     public string OddColor
  56.     {
  57.         set { this._OddColor = value; }
  58.         get { return this._OddColor; }
  59.     }
  60.     public string EvenColor
  61.     {
  62.         set
  63.         {
  64.             this._EvenColor = value;
  65.         }
  66.         get
  67.         {
  68.             return this._EvenColor;
  69.         }
  70.     }
  71.     public string mousecolor
  72.     {
  73.         set { this._mousecolor = value; }
  74.         get { return this._mousecolor; }
  75.     }
  76.     //将颜色值分解,转化为RGB三色值的方法
  77.     private int convert(string color, int index, int length)
  78.     {
  79.         string i = color.Substring(index, length);
  80.         int j = Convert.ToInt32(i, 16);
  81.         return j;
  82.     }
  83.     /*================================定义DataGrid的背景色,和鼠标经过时的颜色============================*/
  84.     public void SetDataGrid(DataGrid dg, DataGridItemEventArgs e, int height)
  85.     {
  86.         //奇数行颜色
  87.         // OddColor = "#FFFFFF";
  88.         //偶数行颜色
  89.         //EvenColor = "#FFFBD6";
  90.         e.Item.Height = Unit.Pixel(height);
  91.         //调用颜色转化函数
  92.         int r = convert(EvenColor, 1, 2);
  93.         int g = convert(EvenColor, 3, 2);
  94.         int b = convert(EvenColor, 5, 2);
  95.         if (num % 2 == 0)
  96.         {
  97.             //注:此处的颜色值只能用rgb三色值,不能用16位的值,不知为何,16位无法显示
  98.             e.Item.BackColor = System.Drawing.Color.FromArgb(r, g, b);
  99.             e.Item.Attributes.Add("onmouseout""this.style.backgroundColor='" + EvenColor + "';this.style.color='black'");
  100.             e.Item.Attributes.Add("onmouseover""this.style.backgroundColor='" + mousecolor + "';this.style.color='#000000'");
  101.         }
  102.         else if (num % 2 == 1)
  103.         {
  104.             e.Item.BackColor = System.Drawing.Color.White;
  105.             e.Item.Attributes.Add("onmouseout""this.style.backgroundColor='" + OddColor + "';this.style.color='black'");
  106.             e.Item.Attributes.Add("onmouseover""this.style.backgroundColor='" + mousecolor + "';this.style.color='#000000'");
  107.         }
  108.     }
  109.     //填充DataGrid的空白数据行
  110.     public void AddBlankItem(DataGrid dg, int height)
  111.     {
  112.         //奇数行颜色
  113.         // OddColor = "#FFFFFF";
  114.         //偶数行颜色
  115.         // EvenColor = "#FFFBD6";
  116.         int left = total - num;
  117.         for (int r = 0; r < left; r++)
  118.         {
  119.             DataGridItem item = new DataGridItem(-1, -1, ListItemType.Item);
  120.             item.Height = Unit.Pixel(height);
  121.             if (num % 2 == 0)
  122.             {
  123.                 if (r % 2 == 0)
  124.                 {
  125.                     item.BackColor = System.Drawing.Color.FromName(EvenColor);
  126.                 }
  127.                 else if (r % 2 == 1)
  128.                 {
  129.                     item.BackColor = System.Drawing.Color.White;
  130.                 }
  131.             }
  132.             else if (num % 2 == 1)
  133.             {
  134.                 if (r % 2 == 0)
  135.                 {
  136.                     item.BackColor = System.Drawing.Color.White;
  137.                 }
  138.                 else if (r % 2 == 1)
  139.                 {
  140.                     item.BackColor = System.Drawing.Color.FromName(EvenColor);
  141.                 }
  142.             }
  143.             //生成单元格
  144.             for (int c = 0; c < cellcount; c++)
  145.             {
  146.                 TableCell cell1 = new TableCell();
  147.                 cell1.Text = " ";
  148.                 item.Cells.Add(cell1);
  149.             }
  150.             //将生成的单元格添加到datagrid中
  151.             dg.Controls[0].Controls.AddAt(num + 2 + r, item);
  152.         }
  153.     }
  154.     /*=====================================定义GridView的背景色,和鼠标经过时的颜色===============================*/
  155.     /// <summary>
  156.     /// 鼠标经过时的颜色,行的颜色变化设置
  157.     /// </summary>
  158.     /// <param name="gv"></param>
  159.     /// <param name="e"></param>
  160.     public void SetGridView(GridView gv, GridViewRowEventArgs e, int height)
  161.     {
  162.         e.Row.Height = Unit.Pixel(height);
  163.         int r = convert(EvenColor, 1, 2);
  164.         int g = convert(EvenColor, 3, 2);
  165.         int b = convert(EvenColor, 5, 2);
  166.         if (num % 2 == 0)
  167.         {
  168.             //注:此处的颜色值只能用rgb三色值,不能用16位的值,不知为何,16位无法显示
  169.             e.Row.BackColor = System.Drawing.Color.FromArgb(r, g, b);
  170.             e.Row.Attributes.Add("onmouseout""this.style.backgroundColor='" + EvenColor + "';this.style.color='black'");
  171.             e.Row.Attributes.Add("onmouseover""this.style.backgroundColor='" + mousecolor + "';this.style.color='#000000'");
  172.             //e.Row.Attributes.Add("onmouseover", "this.style.background='url(../images/4.gif)';this.style.color='#ffffff'");
  173.         }
  174.         else if (num % 2 == 1)
  175.         {
  176.             e.Row.BackColor = System.Drawing.Color.White;
  177.             e.Row.Attributes.Add("onmouseout""this.style.backgroundColor='" + OddColor + "';this.style.color='black'");
  178.             e.Row.Attributes.Add("onmouseover""this.style.backgroundColor='" + mousecolor + "';this.style.color='#000000'");
  179.         }
  180.     }
  181.     //添加空白数据行
  182.     public void AddBlankRow(GridView gv, int height)
  183.     {
  184.         int left = total - num;
  185.         for (int r = 0; r < left; r++)
  186.         {
  187.             GridViewRow row = new GridViewRow(-1, -1, DataControlRowType.EmptyDataRow, DataControlRowState.Normal);
  188.             row.Height = Unit.Pixel(height);
  189.             if (num % 2 == 0)
  190.             {
  191.                 if (r % 2 == 0)
  192.                 {
  193.                     row.BackColor = System.Drawing.Color.FromName(EvenColor);
  194.                 }
  195.                 else if (r % 2 == 1)
  196.                 {
  197.                     row.BackColor = System.Drawing.Color.White;
  198.                 }
  199.             }
  200.             else if (num % 2 == 1)
  201.             {
  202.                 if (r % 2 == 0)
  203.                 {
  204.                     row.BackColor = System.Drawing.Color.White;
  205.                 }
  206.                 else if (r % 2 == 1)
  207.                 {
  208.                     row.BackColor = System.Drawing.Color.FromName(EvenColor);
  209.                 }
  210.             }
  211.             for (int c = 0; c < cellcount; c++)
  212.             {
  213.                 TableCell cell1 = new TableCell();
  214.                 cell1.Text = " ";
  215.                 row.Cells.Add(cell1);
  216.             }
  217.             if (num != 0)
  218.             {
  219.                 gv.Controls[0].Controls.AddAt(num + 2 + r, row);
  220.             }
  221.             else if (num == 0)
  222.             {
  223.                 gv.Controls[0].Controls.AddAt(num + 1 + r, row);
  224.             }
  225.         }
  226.     }
  227. }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值