asp。net中有没有图表控件(在线等)
请问:我用的是Visual studio2003,其中有没有图表控件,可以显示曲线图和柱状图? 问题点数:20、回复次数:17Top
1 楼youhaodeyi(友好的翼)回复于 2006-03-02 13:19:28 得分 0
ding by myselfTop
2 楼TheLastMarine(dotnet小菜鸟)回复于 2006-03-02 13:26:16 得分 0
owc,上网找吧,应该不少的。Top
3 楼jeanso(轩辕剑)回复于 2006-03-02 13:44:55 得分 0
用水晶报表10Top
4 楼coolbamboo2008(寒竹)回复于 2006-03-02 14:23:49 得分 0
没有,只能上网找Top
5 楼youhaodeyi(友好的翼)回复于 2006-03-02 16:40:09 得分 0
什么叫水晶报表,我总听别人提起它,但就是不知道它到底干什么用的?Top
6 楼redleaf80(帅の很遗憾)回复于 2006-03-02 16:44:03 得分 0
看图表做什么用?如果光显示结果,用于比较的话,直接添加个image,控制高度即可。否则自己写个控件吧Top
7 楼youhaodeyi(友好的翼)回复于 2006-03-02 18:07:01 得分 0
如何写一个自定义控件?有没有一些简单的教程?谢谢Top
8 楼daiming(小蔚)回复于 2006-03-02 18:20:34 得分 0
wsChart4.2Top
9 楼youhaodeyi(友好的翼)回复于 2006-03-02 20:10:27 得分 0
什么意思,能不能说具体一点Top
10 楼daiming(小蔚)回复于 2006-03-02 20:22:16 得分 0
可以在asp。net中调用 国内最强的网站上有.NET示例Top
11 楼youhaodeyi(友好的翼)回复于 2006-03-03 08:30:09 得分 0
什么网站,网址是多少Top
12 楼daichenghua(爱是唯一)回复于 2006-03-03 13:18:37 得分 10
我有OWC作的曲线图代码,你研究一下吧
#region 图表的生成方法
/// <summary>
/// 图表的生成方法
/// </summary>
/// <param name="pointName">站点名称</param>
/// <param name="alParamName">参数列表</param>
/// <param name="dataTime">时间</param>
/// <returns>返回生成图片的路径</returns>
public string MakeChart(string pointName,ArrayList alParamName,string dataTime)
{
//**********************************/
//声明OWC10控件,/
//***************************/
OWC10.ChartSpaceClass objCSpace =new OWC10.ChartSpaceClass();
OWC10.ChChart objChart =objCSpace.Charts.Add(0);
System.Web.UI.WebControls.Image image=new System.Web.UI.WebControls.Image();
//指定图表的类型如曲线图或者条形图
//条形图objChart.Type = OWC10.ChartChartTypeEnum.chChartTypeColumnClustered;
//曲线图objChart.Type = OWC10.ChartChartTypeEnum.chChartTypeLine;
objChart.Type = OWC10.ChartChartTypeEnum.chChartTypeLineMarkers;
//指定图表是否需要图例
objChart.HasLegend = true;
//给定标题
objChart.HasTitle = true;
objChart.Title.Caption= "浓度分布图";
objChart.Title.Font.Bold=true;
//给定x,y轴的图示说明
objChart.Axes[0].HasTitle = true;
//objChart.Axes[0].Font.Size=12;
objChart.Axes[0].Title.Caption = "时刻";
//objChart.Axes[1].Font.Size=12;
objChart.Axes[1].HasTitle = true;
objChart.Axes[1].Title.Caption = "数值";
//指定图表的标题
string strPName="";
string sqlPcode="select fldPName from qike_point where fldpCode='"+pointName+"' and fldYear=year(getdate())";
System.Data.SqlClient.SqlDataReader Newdr=db.RunProcGetReader(sqlPcode);
while(Newdr.Read())
{
strPName=Newdr["fldPName"].ToString();
}
Newdr.Close();
db.Close();
objChart.Title.Caption="有效数据 "+strPName+Convert.ToDateTime(dataTime).AddDays(-1).ToShortDateString().ToString()+" 12点到"+dataTime.ToString()+ " 11点的浓度分布图";
string beginTime=Convert.ToDateTime(dataTime).AddDays(-1).ToShortDateString()+" "+"12:00:00";
string endTime=Convert.ToDateTime(dataTime).ToShortDateString().ToString()+" "+"11:00:00";
for(int p=0;p<alParamName.Count;p++)
{
System.Data.DataSet dsIncome=new DataSet();
string strParam="";
string sqlParamValue="";
sqlParamValue="select paramName from qike_item where fldItemCode ='"+alParamName[p].ToString()+"'";
System.Data.SqlClient.SqlDataReader ParamNamedr=db.RunProcGetReader(sqlParamValue);
while(ParamNamedr.Read())
{
strParam=ParamNamedr["paramName"].ToString();
}
ParamNamedr.Close();
db.Close();
//**********************************/
//定义局部数据,接收数据
//***************************/
string ChartName="";
string strMonthName = "";
string strMonthIncome="";
int countNum=0;
string[] MyMonthName;
string[] MyMonthIncome;
//**********************************/
//生成一个数据集
//**********************************/
string ableIndex=strParam.Replace("param","");
this.sqlImageParam="select "+strParam+" as parmValue , fldHour ,FullDateTime from QIKE_BasicLeach where fldPCode='"+pointName+"' and FullDateTime>='"+beginTime+"' and FullDateTime<='"+endTime+"' and substring(fldIsAble,"+int.Parse(ableIndex.ToString())+",1)=1 order by FullDateTime ";
db.RunProc(this.sqlImageParam,dsIncome,"param");
countNum=dsIncome.Tables["param"].Rows.Count;
//***************************/
MyMonthName=new string[countNum];
MyMonthIncome = new string[countNum];
for(int n=0;n<dsIncome.Tables["param"].Rows.Count;n++)
{
if(dsIncome.Tables["param"].Rows[n]["parmValue"].ToString()==null||dsIncome.Tables["param"].Rows[n]["parmValue"].ToString().Trim().Length<=0)
{
MyMonthIncome[n] = "0";
MyMonthName[n] = dsIncome.Tables["param"].Rows[n]["fldHour"].ToString();
}
else
{
MyMonthIncome[n] = Convert.ToDouble(dsIncome.Tables["param"].Rows[n]["parmValue"]).ToString("f3");
MyMonthName[n] = dsIncome.Tables["param"].Rows[n]["fldHour"].ToString();
}
}
dsIncome.Dispose();
for(int i=0;i< MyMonthIncome.Length;i++)
{
strMonthIncome +=MyMonthIncome[i].ToString()+'\t';
}
for(int n=0;n< MyMonthName.Length;n++)
{
strMonthName += MyMonthName[n].ToString()+'\t';
}
dsIncome.Dispose();
dsIncome.Clear();
//****************************************/
//图标添加序列
//****************************************/
objChart.SeriesCollection.Add(p);
//****************************************/
//图标序列的赋值
//****************************************/
string lstr_strParamName="";
string lstr_sqlParamName="";
lstr_sqlParamName="select fldItemName from qike_item where fldItemCode ='"+alParamName[p].ToString()+"'";
System.Data.SqlClient.SqlDataReader lstr_ParamNamedr=db.RunProcGetReader(lstr_sqlParamName);
while(lstr_ParamNamedr.Read())
{
lstr_strParamName=lstr_ParamNamedr["fldItemName"].ToString();
}
lstr_ParamNamedr.Close();
db.Close();
ChartName=lstr_strParamName.ToString();
objChart.SeriesCollection[p].SetData (OWC10.ChartDimensionsEnum.chDimSeriesNames,
+ (int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral,ChartName);
objChart.SeriesCollection[p].SetData (OWC10.ChartDimensionsEnum.chDimCategories,
+ (int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral,strMonthName);
objChart.SeriesCollection[p].SetData (OWC10.ChartDimensionsEnum.chDimValues,
(int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral,strMonthIncome);
//****************************************/
//图标生成图片并导出
//****************************************/
}
DateTime dtNow = DateTime.Now;
//给曲线图取个唯一的名字,避免内存中保存相同的名字
string lstr_imageName=dtNow.Year.ToString()+dtNow.Month.ToString()+dtNow.Day.ToString()+dtNow.Hour.ToString()+dtNow.Minute.ToString()+dtNow.Second.ToString()+pointName;
string ProjectName=ConfigurationSettings.AppSettings["ProjectName"];
string ImageUrl=Server.MapPath(null)+@"\imageNongDu"+@"\"+lstr_imageName+".gif";
//生成曲线图,保存在相应位置.
objCSpace.ExportPicture(ImageUrl, "GIF", 750, 320);
string lstr_imageurl="/"+ProjectName+"/masscortrol/able/imageNongDu/"+lstr_imageName+".gif";
//返回曲线图的路径
return lstr_imageurl ;
}Top
13 楼daichenghua(爱是唯一)回复于 2006-03-03 13:19:29 得分 7
用的时候
//创建曲线图
this.Image1.ImageUrl=this.MakeChartAll(gstr_strPoint,this.gstr_alPara,this.txtTime.Text.ToString().Trim());Top
14 楼boy_north(北方的豹子)回复于 2006-03-03 13:38:04 得分 0
顶!
楼上强!
Top
15 楼exboy(kuku)回复于 2006-03-03 13:45:24 得分 3
网上有很多这样的控件,可以自己找一下。
你可以使用 System.Drawing 中的类自己画。Top
16 楼daiming(小蔚)回复于 2006-03-03 13:48:54 得分 0
http://post.baidu.com/f?kz=86480276Top
17 楼youhaodeyi(友好的翼)回复于 2006-03-08 09:47:22 得分 0
怎么用Pen类中的方法在网页上画图?我找了一下它的成员函数,没有画直线或曲线的函数Top




