asp.net chart使用的问题

「已注销」 2010-07-23 05:36:51
我在使用chart时候。
Y坐标 是按某一个字段的最大值来的。X坐标是时间 但是出现了一个情况。就是Y坐标的数值会重复。
如下图:
...全文
697 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2010-07-28
  • 打赏
  • 举报
回复
Y坐标数据格式改成Int32就好了。开始是double型的~ o(╯□╰)o
「已注销」 2010-07-28
  • 打赏
  • 举报
回复
原来还不是数据源的问题。最终还是前端数据格式的问题。真悲剧
「已注销」 2010-07-27
  • 打赏
  • 举报
回复
是数据的问题。正在处理数据源
冰岛男孩 2010-07-24
  • 打赏
  • 举报
回复
能否告诉我chart的机制。就是Y和X都是怎么样绑定数据的
yanxiaodi 2010-07-23
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 devinhua 的回复:]
引用 5 楼 devinhua 的回复:
select maxUserNum,OnlineUserNum,timeMin from
(select MAX(OnlineUserNum) as maxUserNum,OnlineUserNum,CONVERT(varchar(12) , VTime, 108) as timeMin
from dbo.ViewOnlineUser where S……
[/Quote]
断点调试 看看取出的数据每行是什么
「已注销」 2010-07-23
  • 打赏
  • 举报
回复
能否告诉我chart的机制。就是Y和X都是怎么样绑定数据的
jiajun923 2010-07-23
  • 打赏
  • 举报
回复
你跟一下 看看 这个查出来的数据是否有问题
「已注销」 2010-07-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 devinhua 的回复:]
select maxUserNum,OnlineUserNum,timeMin from
(select MAX(OnlineUserNum) as maxUserNum,OnlineUserNum,CONVERT(varchar(12) , VTime, 108) as timeMin
from dbo.ViewOnlineUser where ServerID=@ServerI……
[/Quote]

这个是就是那个数据源的查询语句。
是不是这个语句有问题
jiajun923 2010-07-23
  • 打赏
  • 举报
回复
你的Y值都是什么数据啊!
「已注销」 2010-07-23
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 jiajun923 的回复:]
C# code
Chart1.Series["Series1"].Points.DataBind(ds.Tables[0].DefaultView, "yaer", "number1", "");
[/Quote]

貌似还是一样的有重复。Y坐标
「已注销」 2010-07-23
  • 打赏
  • 举报
回复
Chart1.Series.Add("series" + i);
Chart1.Series["series" + i].BorderColor = RandColor(i);
Chart1.Series["series" + i].Color = RandColor(i);
Chart1.Series["series" + i].ChartType = SeriesChartType.Spline;
Chart1.Series["series" + i].Enabled = true;
Chart1.Series["series" + i].LabelForeColor = RandColor(i);
Chart1.Series["series" + i].LegendText = ip;//+ "【" + startTime + "—" + endTime + "】";
Chart1.Series["series" + i].ShadowColor = RandColor(i);
Chart1.Series["series" + i].ShadowOffset = 1;
Chart1.Series["series" + i].IsValueShownAsLabel = true;
Chart1.Series["series" + i].MarkerStyle = MarkerStyle.Diamond;
Chart1.Series["series" + i].XValueType = ChartValueType.Double;
Chart1.Series["series" + i].YValueType = ChartValueType.Double;
Chart1.Series["series" + i].BorderWidth = 1;
Chart1.Series["series" + i].CustomProperties = "EmptyPointValue=Zero";
Chart1.Series["series" + i].EmptyPointStyle.BorderDashStyle = ChartDashStyle.DashDotDot;
Chart1.Series["series" + i].EmptyPointStyle.BorderWidth = 2;
Chart1.Series["series" + i].EmptyPointStyle.MarkerStyle = MarkerStyle.Cross;
Chart1.Series["series" + i].EmptyPointStyle.Color = Color.Gray;
Chart1.Series["series" + i].EmptyPointStyle.MarkerSize = 9;
Chart1.Series["series" + i].EmptyPointStyle.MarkerColor = Color.Red;
Chart1.DataSource = dt;
Chart1.Series["series" + i].XValueMember = "timeMin";
Chart1.Series["series" + i].YValueMembers = "maxUserNum";

jiajun923 2010-07-23
  • 打赏
  • 举报
回复
Chart1.Series["Series1"].Points.DataBind(ds.Tables[0].DefaultView, "yaer", "number1", "");
jiajun923 2010-07-23
  • 打赏
  • 举报
回复
一系列 你换成这样 code=C#]Chart1.Series["Series1"].Points.DataBind(ds.Tables[0].DefaultView, "yaer", "number1", "");[[/code]
「已注销」 2010-07-23
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 jiajun923 的回复:]
你绑定的是一些列数据,你dt.rows是一行,按说应该绑定不了吧,你把你的绑定dt.rows换个试试
[/Quote]

绑定的是一列数据啊。 应该是用rows的
jiajun923 2010-07-23
  • 打赏
  • 举报
回复
你绑定的是一些列数据,你dt.rows是一行,按说应该绑定不了吧,你把你的绑定dt.rows换个试试
「已注销」 2010-07-23
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jiajun923 的回复:]
C# code
第一种:这种方法可能是很常见的,在原来的 . NET编程中出现的机率非常之高,方法如下:

// 设置数据源,myDv是一个取出数据集的DataView
chart1 . DataSource = myDv;

// 分别设置图表的X值和Y值
chart1 . Series["Series1"] . XValueMember = "Nam……
[/Quote]

这样就不会出现重复的现象麽
jiajun923 2010-07-23
  • 打赏
  • 举报
回复
根据官方文档的说法,只要是实现了IEnumerable接口 的数据类型,都可以绑定到图表控件中,例如:DataView, DataReader, DataSet, DataRow, DataColumn, Array, List, SqlCommand, OleDbCommand, SqlDataAdapter, 及OleDbDataAdapter对象。
mill_dhl 2010-07-23
  • 打赏
  • 举报
回复
应你要求来顶下~~
jiajun923 2010-07-23
  • 打赏
  • 举报
回复
第一种:这种方法可能是很常见的,在原来的 . NET编程中出现的机率非常之高,方法如下:

// 设置数据源,myDv是一个取出数据集的DataView
chart1 . DataSource = myDv;

// 分别设置图表的X值和Y值
chart1 . Series["Series1"] . XValueMember = "Name";
chart1 . Series["Series1"] . YValueMembers = "Sales";

// 绑定设置的数据
chart1 . DataBind();

第二种:即直接调用点的绑定方法

//myReader为取得的DataReader对象
Chart1 . Series["Series1"] . Points . DataBindXY(myReader, "Name", myReader, "Sales");

第三种:调用DataBind的方法实现

Chart1 . Series["Series1"] . Points . DataBind(myReader, "Name", "Sales", "");
「已注销」 2010-07-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jiajun923 的回复:]
Chart1.Series["series0"].Points.DataBind(dt.Rows, "timeMin", "maxUserNum", String.Empty);

怎么绑定dt.rows 行?
[/Quote]

因为他是个控件。所以他具体是怎么绑定到这个控件我就不清楚了
加载更多回复(6)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧