在.net c#使用Graphics绘制商品数量展示报表

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

在winform项目中,如果要绘制如下的报表:

这种报表简单,实用,可以自己写代码轻松实现,不必去引入第三方dll,从而导致项目不安全.

首先建一个实体类:

        /// <summary>
        /// 产品表
        /// </summary>
        [Serializable]
        public class Item
        {
            /// <summary>
            /// 产品名称
            /// </summary>
            public string name { get; set; }
            /// <summary>
            /// 数量
            /// </summary>
            public double count { get; set; }
        }

从数据库查出相应的数据,并转化成List<Item>集合

调用方法,画图:

        public void Draw(List<Item> list)
        {
            int width = this.zpic.Width;
            int height = this.zpic.Height;
            Bitmap bit = new Bitmap(width, height);
            Graphics g = Graphics.FromImage(bit);
            g.Clear(Color.White);
            //根据高度,画横条线
            int showline = 10;
            for (int i = 0; i < showline; i++)
            {
                g.DrawLine(new Pen(new SolidBrush(Color.Green), 1.0f), 50, height - 20 - i * (height / showline), width - 40, height - 20 - i * (height / showline));
                g.DrawString(Convert.ToString(i * 100), new Font("Times New Roman", 10, FontStyle.Regular), new SolidBrush(Color.Black), 20, height - 27 - i * (height / showline));
            }
            //画一条坐标线
            g.DrawLine(new Pen(new SolidBrush(Color.Green), 1.0f), 50, height - 20, 50, 20);
            for (int j = 0; j < list.Count; j++)
            {
                int x, y, w, h;
                //间隙大小
                int lit = 60;
                g.DrawString(list[j].name, new Font("宋体", 10, FontStyle.Regular), new SolidBrush(Color.Black), 76 + lit * j, height - 16);
                x = 78 + lit * j;
                y = height - 20 - Convert.ToInt32((Convert.ToDouble(list[j].count * (height / showline) / 100)));
                //坐标宽度
                w = 40;
                h = Convert.ToInt32(list[j].count * (height / showline) / 100);
                if (list[j].count > 600) { g.FillRectangle(new SolidBrush(Color.FromArgb(56, 129, 78)), x, y, w, h); }
                else { g.FillRectangle(new SolidBrush(Color.Red), x, y, w, h); }
            }
            this.zpic.BackgroundImage = bit;
        }

根据自己的项目情况,修改部分参数,即可轻松完成该报表.

附件:下载该文件资源,减少时间成本(增值服务)
不商用,只限学习使用,使用后请删除
上传者拥有该资源完整版权,下载既表明已授权您可以进行报备商用,无报备或者使用后报备,视为侵权,报备后使用,为合法有效使用,报备方式,下载后,在下载列表,点击报备,填写使用场景即可
文件部分展示图(单击放大)
在.net c#使用Graphics绘制商品数量展示报表在.net c#使用Graphics绘制商品数量展示报表
留言
该资源可下载
File Source
.rar
179.39 KB
在.net c#使用Graphics绘制商品数量展示报表在.net c#使用Graphics绘制商品数量展示报表
最新结算
股权转让协议意向书模板
类型: .docx 金额: CNY 2.23¥ 状态: 待结算 详细>
股权转让协议意向书模板
类型: .docx 金额: CNY 0.28¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 2.39¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 0.3¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章