仓库映射图
来源:互联网 发布:网页游戏源码论坛 编辑:程序博客网 时间:2024/04/27 22:28
陈希章
原文地址:http://www.cnblogs.com/chenxizhang/archive/2008/08/16/1269127.html原文标题:仓库映射图
原文发表:2008/8/16 2:05:00
假设我们的生产管理系统中,需要用图形化的方式表示出来各个仓位的金额比重。下面介绍一种思路帮助大家开始
1. 我们的数据结构大致是这样的。其实很多仓库都是可以划分为一个平面图形的。我这里是随机地产生了100个仓位
2.我最后做出来的效果如下
代码大致如下
准备数据的代码
public DataTable GetData() {
DataTable tb = new DataTable();
tb.Columns.Add("仓位");
tb.Columns.Add("库存");
tb.Columns.Add("顶边距");
tb.Columns.Add("左边距");
Random rnd = new Random();
string[] ColumnName = new string[10] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J" };
for (int x = 0; x < 10; x++)
{
for (int y = 0; y < 10; y++)
{
DataRow row = tb.NewRow();
row["仓位"] = ColumnName[x] + y.ToString();
row["库存"] = rnd.Next(100, 200);
row["顶边距"] = (x - 0) * 20;
row["左边距"] = (y - 0) * 80;
tb.Rows.Add(row);
}
}
return tb;
}
画图的代码
Bitmap bitmap = new Bitmap(800, 200);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.FillRectangle(new SolidBrush(Color.White), 0, 0, 800, 200);
DataTable tb = GetData();
foreach (DataRow row in tb.Rows) {
float x = float.Parse(row["左边距"].ToString());
float y = float.Parse(row["顶边距"].ToString());
float width = 80;
float height = 20;
int value = int.Parse(row["库存"].ToString());
Brush brush=null;
if (value < 150)
brush=new SolidBrush(Color.Green);
else if (value < 180)
brush = new SolidBrush(Color.HotPink);
else
brush = new SolidBrush(Color.Red);
graphics.FillRectangle(brush, x, y, width, height);
}
this.pictureBox1.Image = bitmap;作者:陈希章
出处:http://blog.csdn.net/chen_xizhang
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
- 仓库映射图
- 仓库
- 仓库
- 仓库
- git 本地库的创建以及如何完成服务器仓库的分支的映射和同步
- maven-pom中配置多个远程仓库-编码gbk的不可映射字符
- IDEA初使用---检出maven项目,私服仓库配置,spring配置文件映射
- 仓库管理整体框架图
- 奇怪的传图仓库
- 映射
- 映射
- 映射
- 映射
- 映射
- 映射
- 映射
- 映射
- 映射
- 三剑客
- 总结在使用VB 6.0和C#编写ActiveX控件的实践 (三)
- VS 2008 SP1及其问题
- 动态为程序指定快捷键
- 动态执行方法
- 仓库映射图
- 优化HTML代码
- 自定义标识,身份主体
- 根据角色决定是否显示或者启用控件
- Excel文件减肥和加速
- 如何产生固定的随机数(VBA)
- 索引的填充因子
- SQL Server中的日期类型
- 走近SQL Server的游标