您的位置:首页 > 其它

WebPart生成折线图和柱状图

2007-03-27 21:32 330 查看
第一:建立一个项目,添加对WebChart.dll的引用。(如果没有请到网上搜索下载)
第二:把WebChart添加到工具箱里,把WebChart添加到页面,同时在页面上添加两个Button。页面代码如下:

body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Button" />
<Web:ChartControl ID="ChartControl1" runat="server" BorderStyle="Outset" BorderWidth="5px" Height="328px" Width="700px" YCustomEnd="500" YCustomStart="100">
<YAxisFont StringFormat="Far,Near,Character,LineLimit" Text="errer" />
<XTitle StringFormat="Center,Near,Character,LineLimit" Text="erererer" />
<ChartTitle StringFormat="Center,Near,Character,LineLimit" />
<XAxisFont StringFormat="Center,Near,Character,LineLimit" />
<Background Color="LightSteelBlue" />
<YTitle StringFormat="Center,Near,Character,LineLimit" />
</Web:ChartControl></div>
</form>
</body>
第三:添加WebChart的命名空间:using WebChart;;
第四:在后台添加如下代码:

protected void Button1_Click(object sender, EventArgs e)
//定义一个颜色数组,供循环时为不同的记录填充不同的颜色
private string[] myColor = new string[]
//用静态方式示例了画出一条两个点的最简单折线.实际项目据此做循环而以.
private void doIt()

protected void Button2_Click(object sender, EventArgs e)

//调用该方法生成柱状图
private void bindchart()
//获取一个DataTable,具体函数略 DataTable dt = new DataTable();
//if (dt != null)
//{
int count = 5;
int count1 = 120;
if (count > 0)
//遍历DataTable为每条记录生成一个柱状
for (int i = 0; i < count; i++)
//创建对象
ColumnChart mychart = new ColumnChart();
//设置柱子宽度
mychart.MaxColumnWidth = 48;
//颜色
mychart.Fill.Color = System.Drawing.Color.FromName(this.myColor[i]);
//在柱子上显示数量
mychart.DataLabels.Visible = true;
//数量的字体
mychart.DataLabels.Font = new System.Drawing.Font("Verdana", 14);
//添加
mychart.Data.Add(new ChartPoint(i.ToString(), float.Parse(count1.ToString())));
//备注
mychart.Legend = "fdfdf" + count;
this.ChartControl1.Charts.Add(mychart);
count1 += 80;
}
//辅助设置
//背景色
ChartControl1.Background.Color = System.Drawing.Color.FromArgb(165, 0, 16);
ChartControl1.YAxisFont.ForeColor = System.Drawing.Color.FromArgb(165, 0, 16);
ChartControl1.XAxisFont.ForeColor = System.Drawing.Color.FromArgb(165, 0, 16);
//内部线条
ChartControl1.Border.Color = System.Drawing.Color.FromArgb(200, 200, 200);
//边框样式
ChartControl1.BorderStyle = BorderStyle.None;
//y最大值
double max = double.Parse((count+300).ToString());
//递增值
int intv = 2;

//数量小于16的情况
if (max < 16)
max = 16;
}
//大于16的情况
else
intv = int.Parse(Math.Ceiling(max / 8).ToString());
max += intv;
}
//设置Y轴终点值
ChartControl1.YCustomEnd = int.Parse(max.ToString());
//y递增值
ChartControl1.YValuesInterval = intv;
//生成
this.ChartControl1.RedrawChart();
}
//}
}
运行就OK了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: