Chart控件做报表读取数据速度慢,望有心人解决
来源:互联网 发布:赵j家人 知乎 编辑:程序博客网 时间:2024/05/30 05:16
protected void Page_Load(object sender, EventArgs e)
{
#region
//2010-10-27 add
Chart1.Width = 600; //图片宽度
Chart1.Height = 400; //图片高度
//建一个图表集合 显示ST供应商数据
Series series = new Series();
series.ChartType = SeriesChartType.Column; //图标集类型,Line为直线,SpLine为曲线
//series.Color = Color.Green; //线条颜色
series.BorderWidth = 2; //线条宽度
series.ShadowOffset = 1; //阴影宽度
series.IsVisibleInLegend = false; //是否显示数据说明
series.IsValueShownAsLabel = true;
series.MarkerStyle = MarkerStyle.Diamond; //线条上的数据点标志类型
series.MarkerSize = 8; // 标志的大小
DataSet ds = GetDateByRB("ST");
int count = ds.Tables[0].Rows.Count ;
int[] date = new int[count];
int[] kkk = new int[count];
int m = 0;
foreach (DataRow dc in ds.Tables [0].Rows)
{
date[m] = Convert.ToInt32(dc[0]);
kkk[m] = Convert.ToInt32(dc[2]);
m++;
}
for (int i = 0; i < date.Length; i++)
{
series.Points.AddXY(date[i], kkk[i]);
}
Chart1.Series.Add(series); //把数据集添加到Chart1中
//再建一个图表集合 显示RB供应商数据 .
Series series1 = new Series();
series1.ChartType = SeriesChartType.Column; //图标集类型,Line为直线,SpLine为曲线
//series1.Color = Color.Red; //线条颜色
series1.BorderWidth = 2; //线条宽度
series1.ShadowOffset = 1; //阴影宽度
series1.IsVisibleInLegend = false; //是否显示数据说明
series1.IsValueShownAsLabel = true;
series1.MarkerStyle = MarkerStyle.Diamond;
DataSet dsRB=GetDateByRB("RB"); //供应商RB的数据集
int countrb = dsRB.Tables[0].Rows.Count; //将RB数据集中表里行的数量的值赋给countrb
int[] dateRB = new int[countrb]; //定义数组dateRB(日期),长度为countrb
int[] numRB = new int[countrb]; //定义数组numRB(数量),长度为countrb
int mrb = 0;
foreach (DataRow dr in dsRB.Tables[0].Rows) //循环遍历供应商RB数据集表,将数据赋给数组dateRB和numRB
{
dateRB[mrb] = Convert.ToInt32(dr[0]);
numRB[mrb] = Convert.ToInt32(dr[2]);
mrb++;
}
series1.MarkerSize = 8;
for (int i = 0; i < dateRB.Length; i++) //循环输出图表series1中的时间和数量,X轴显示时间,Y轴显示数量
{
series1.Points.AddXY(dateRB[i], numRB[i]);
}
Chart1.Series.Add(series1); //把数据集添加到Chart1中
//建立第3个图标集合显示供应商HC数据
Series series3 = new Series();
series3.ChartType = SeriesChartType.Column;
series1.BorderWidth = 2; //线条宽度
series1.ShadowOffset = 1; //阴影宽度
series1.IsVisibleInLegend = false; //是否显示数据说明
series1.IsValueShownAsLabel = true;
series1.MarkerStyle = MarkerStyle.Diamond;
series1.MarkerSize = 8;
DataSet dsHC = GetDateByRB("HC");
int countHC = dsHC.Tables[0].Rows.Count;
int[] dateHC = new int[countHC];
int[] numHC = new int[countHC];
int mHC = 0;
foreach (DataRow dr in dsHC.Tables[0].Rows)
{
dateHC[mHC] = Convert.ToInt32(dr[0]);
numHC[mHC] = Convert.ToInt32(dr[2]);
mHC++;
}
for (int i = 0; i < dateHC.Length; i++)
{
series3.Points.AddXY(dateHC[i], numHC[i]);
}
Chart1.Series.Add(series3); //把数据集添加到Chart1中
//xy轴
Chart1.ChartAreas[0].AxisY.Title = "Number";
Chart1.ChartAreas[0].AxisX.Title = "Date";
}
/// <summary>
/// 数据库
/// </summary>
/// <param name="Carriercode">供应商名称</param>
/// <returns>ds</returns>
public DataSet GetDateByRB(string Carriercode)
{
string myCon = ConfigurationManager.ConnectionStrings["myConn"].ConnectionString;
string cmdText = "select [month] , CarrierCode,Sum(number) Number from dbo.Demo where carriercode= '"+Carriercode+"' group by [month], CarrierCode";
SqlConnection con = new SqlConnection(myCon);
SqlCommand com = new SqlCommand(cmdText, con);
con.Open();
DataSet ds = new DataSet();
SqlDataAdapter sda = new SqlDataAdapter(com);
sda.Fill(ds);
return ds;
}
- Chart控件做报表读取数据速度慢,望有心人解决
- 水晶报表页面加载速度慢如何解决
- 使用DXSplashScreen解决DevExpress控件加载速度慢的问题
- 解决关机速度慢
- 做个有心人
- 做生活的有心人
- 做个有心人
- Oracle中解决DATE类型数据查询速度慢问题
- Open Flash Chart 做报表例子
- c#报表控件Chart实例用法
- 如何解决电脑速度慢?
- 如何解决电脑速度慢?
- redmine 速度很慢解决
- 解决网站访问速度慢
- 远程连接速度慢解决
- 解决oracle速度变慢
- 解决MySQL读取大数据慢的问题
- Session保存到Memcache中,解决读取数据慢问题
- java遍历resource目录
- timer
- 面向对象分析方法(Object-Oriented Analysis,OOA)
- 离开那个官僚政治的强势体系
- 表单数据的加密传输
- Chart控件做报表读取数据速度慢,望有心人解决
- 验证: 在Windows服务中弹出MsgBox
- 求flash高手
- 创建C++线程
- Linux下通过WebShell反弹Shell的技巧
- Compile Linux kernel
- C#结构类型和类类型的区别
- 实验:向控件接口传递字节流和由Ocx返回字节流给调用方
- 网页自动跳转代码