网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > .Net编程 > 正文

实现GridView里的进度条

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

 在一些项目管理系统里经常要用一个进度条去动态显示当前项目进展情况,那如何在GridView里实现进度条呢?首先要有一个百分比(如根据当前的情况和原先计划的工期计算一个项目完成的百分比),然后根据这个百分比去画一个进度条。
 这里要用到.ashx文件,代码如下:# <%@ WebHandler Language="C#" Class="ChartHandler" %>
#
# <%@ WebHandler Language="C#" Class="ChartHandler" %>
#
using System;
# using System.Web;
# using System.Drawing;
# using System.Drawing.Drawing2D;
# using System.Drawing.Imaging;
#
# public class ChartHandler : IHttpHandler {
#    
#     public void ProcessRequest (HttpContext context) {
#   //这个是接收传过来的百分比
#         decimal rateofprogress = decimal.Parse(context.Request.QueryString["rateofprogress"]);
#
#         using (Bitmap bitmap = new Bitmap(100, 16))
#         {
#             using (Graphics graphics = Graphics.FromImage(bitmap))

#             {
#                 graphics.SmoothingMode = SmoothingMode.AntiAlias;
#                 graphics.Clear(Color.White);
#                 Rectangle rect = new Rectangle(0, 0, 100, 16);
#                 graphics.DrawRectangle(Pens.Black, rect);
#                 int width = Convert.ToInt32(rateofprogress);
#                                
#                 Rectangle fillRect = new Rectangle(0, 0, width, 16);
#                 if (width == 100)
#                 {
#                     graphics.FillRectangle(Brushes.Green, fillRect);//如果百分比为一百,进度条用绿色显示,表示已完成
#                 }

#                 else if(width==0)
#                 {
#                     graphics.Clear(Color.Gray);
#                     graphics.FillRectangle(Brushes.Gray, fillRect);//百分比为0,进度条用灰色显示,表示未开始
#                 }

#                 else
#                 {
#                     graphics.FillRectangle(Brushes.Blue, fillRect);//正在进行的,用蓝色显示
#                 }

#                 context.Response.ContentType = "text/gif";
#                 context.Response.Clear();
#                 context.Response.BufferOutput = true;
#                 bitmap.Save(context.Response.OutputStream, ImageFormat.Gif);
#             }

#         }

#
#     }

  1.  
  2.  //下面是必须要的
  3.     public bool IsReusable {
  4.         get {
  5.             return false;
  6.         }
  7.     }
  8.  
  9. }
  10.  
  11.  
  12.  下面是.aspx中的代码:
  13. <asp:TemplateField HeaderText="完成进度">
  14.                 <ItemTemplate>                    
  15.                     <img alt=''<%# "按原计划已完成:"+Convert.ToDecimal(Eval("RateOfProgressVc")).ToString("F2")+"%"  %>'' 
  16.                         src=''<%# "ChartHandler.ashx?rateofprogress="+Eval("RateOfProgressVc") %>'' />
  17.                 </ItemTemplate>
  18. </asp:TemplateField>
  19.             
  20.             
  21.           数据库中最好是有一个字段用来存放计算出来的百分比,然后Eval("")直接取这个值传过去。

设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师