下面还有破解版本:) http://blog.youkuaiyun.com/allisnew/
虽然它的使用已经非常简单了,但是在实际使用过程中还是碰到了几个麻烦,下面就写一下它的简单使用方法:(以for vs2003的webform举例,其他类同)
1.首先要搞定 帮助文档:从官方网站下载解压后把dotnetcharting4.2for1.x目录设置成虚拟目录,.net1.1的环境,然后就可以看帮助示例了。
2.把\bin\ dotnetCHARTING.dll添加到工具箱,并且添加引用
3.把控件拖到你的网页上,然后添加引用 using dotnetCHARTING;就可以用了
4.说下简单的 柱状图的用法(动态获取数据):它有个type属性,设置成Combo就是柱状图;下面是代码:
private
void
Page_Load(
object
sender, System.EventArgs e)
{
if (!IsPostBack)
{
ConfChart();
}
}


chart
#region chart
private DataTable CreateDataTable()
{
DataTable dt = new DataTable();
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConString"]);
SqlDataAdapter adapter = new SqlDataAdapter();
string selectQuery = @"select newdate,count(PK_ID) as allcount from "
+"(select convert(varchar(10),fld_createtime,120) as newdate,* from FEEDBACK_FB_TAB where 1=1";
if (this.txt_StartTime.Text != "")
selectQuery += " and fld_createtime>"+Common.QuotedStr(txt_StartTime.Text+" 00:00:00");
if (this.txt_endtime.Text != "")
selectQuery += " and fld_createtime<"+Common.QuotedStr(txt_endtime.Text+" 23:59:59");
selectQuery += ") as t1 group by t1.newdate";
adapter.SelectCommand = new SqlCommand(selectQuery, conn);
adapter.Fill(dt);
return dt;
}
private void ConfChart()
{
Chart1.Debug = false;
Chart1.Mentor = false;
Chart1.Title="客户反馈日统计图";
//Chart1.XAxis.Label.Text="日期";
Chart1.YAxis.Label.Text="反馈次数";
Chart1.TempDirectory="temp";
Chart1.ShadingEffect = true;
Chart1.Use3D = true;
Chart1.Width = 600;
Chart1.Height = 350;
Chart1.Series.Name = "客户反馈次数";
Chart1.Series.Data = CreateDataTable();
Chart1.SeriesCollection.Add();
}
#endregion
首先设置type属性为pie,然后下面是动态数据的代码
private
void
Page_Load(
object
sender, System.EventArgs e)
{
if (!IsPostBack)
{
ConfChart();
}
}


chart
#region chart
private DataTable CreateDataTable()
{
DataTable dt = new DataTable();
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConString"]);
SqlDataAdapter adapter = new SqlDataAdapter();
string selectQuery = @"select fld_channel,count(PK_ID) as channel_count from FEEDBACK_VIEW where 1=1";
if (this.txt_StartTime.Text != "")
selectQuery += " and fld_createtime>"+Common.QuotedStr(txt_StartTime.Text+" 00:00:00");
if (this.txt_endtime.Text != "")
selectQuery += " and fld_createtime<"+Common.QuotedStr(txt_endtime.Text+" 23:59:59");
selectQuery += " group by fld_channel order by channel_count DESC";
adapter.SelectCommand = new SqlCommand(selectQuery, conn);
adapter.Fill(dt);
return dt;
}
private void ConfChart()
{
Chart1.Debug = false;
//Chart1.Mentor = false;
Chart1.Title="频道反馈量统计图";
//Chart1.XAxis.Label.Text="日期";
//Chart1.YAxis.Label.Text="反馈次数";
Chart1.TempDirectory="temp";
Chart1.ShadingEffect = true;
Chart1.Use3D = true;
Chart1.Width = 600;
Chart1.Height = 350;
//Chart1.Series.Name = "客户反馈次数";
//Chart1.Series.Data = CreateDataTable();
//Chart1.Series.DataFields = "fld_channel";
Chart1.SeriesCollection.Add(getData());
}

饼状图 有无简便方法?#region 饼状图 有无简便方法?
private SeriesCollection getData()
{
SeriesCollection SC = new SeriesCollection();
DataTable mydt = CreateDataTable();
for ( int i = 0; i < mydt.Rows.Count; i++ )
{
Series s = new Series();
s.Name = mydt.Rows[i]["fld_channel"].ToString();
Element e = new Element();
e.Name = mydt.Rows[i]["fld_channel"].ToString();
e.ShowValue = true;
e.ToolTip = mydt.Rows[i]["fld_channel"].ToString();
e.YValue = Convert.ToInt32(mydt.Rows[i]["channel_count"].ToString());
s.AddElements(e);
SC.Add(s);
}
return SC;
}
#endregion
强烈推荐他的demo地址:
这个是所有的 DEMO 演示 http://www.dotnetcharting.com/demo.aspx
这个是 Online Documentation http://www.dotnetcharting.com/documentation/v4_4/webframe.html 里面会有详细的说明和用法。
本文详细介绍了DotNetCharting图表控件的使用方法,包括如何添加控件到Visual Studio 2003 WebForm项目,配置柱状图和饼状图,以及动态获取数据的示例代码。
688

被折叠的 条评论
为什么被折叠?



