日期:2014-05-18  浏览次数:20421 次

跪求VS2008.NET平台下,图表控件:可以显示折线图(例如股势图),柱状图,饼状图。谢谢,兄弟门,帮帮忙啊
如题,多谢了。

------解决方案--------------------
试试 Infragistics.netadvantage.2005 套件。
电骡上有下。
------解决方案--------------------
用owc即可.

你可以到网上搜一下.资料很多.
------解决方案--------------------
是不是要做报表
采用sql server 2005的报表服务

尤其sql server 2008的报表服务更好
这些控件全有


------解决方案--------------------
ZedGraph
------解决方案--------------------
可以使用any chart
------解决方案--------------------
这东西以前还真做过。。不过忘记了。。好象是用代码吧//。。没用什么第3方控件
------解决方案--------------------
水晶报表可以。
------解决方案--------------------
呵呵,这么多solution.
------解决方案--------------------
用SQL SERVER Reporting Service 开发报表. 然后利用report viewer控件将报表插入到Web Application

------解决方案--------------------
using System.Drawing;
下一个webchart.dll添加一下引用。在工具箱中右键,选择“选择项”,点击面板中的浏览,把webchart.dll添加进来,你回看到一个chartcontrol控件,点击确定。你就可在工具箱看到这个控件。拖到页面上即可使用

//颜色数组
private string[] myColor = new string[]
{
"Fuchsia",
"Black",
"Gold",
"Blue",
"HotPink",
"Orange",
"Peru",
"DodgerBlue",
"Lime",
"Tan",
"Red",
"GreenYellow",
"DarkGreen",
"DimGray",
"Orchid"
};

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

//数量小于16的情况
if (max < 16)
{
max = 16;