我有一个图表控件,我想在条形图上显示存储过程的内容。 sproc有几列,但我只关心这个特定的图表。第一列包含X轴成员,第二列包含这些x轴成员的Y轴值。我的代码如下:
SqlCommand myCommand = new SqlCommand();
myCommand.Connection = new SqlConnection(myString);
myCommand.CommandText = "spHeyStackoverflow";
myCommand.CommandType = CommandType.StoredProcedure;
SqlParameter parameter = new SqlParameter();
parameter.ParameterName = "@ParameterName";
parameter.SqlDbType = SqlDbType.VarChar;
parameter.Direction = ParameterDirection.Input;
parameter.Value = 'Q';
myCommand.Parameters.Add(parameter);
chart1.DataSource = myCommand;
chart1.Series["Series1"].XValueMember = "ProductType";
chart1.Series["Series1"].YValueMembers = "Count";
chart1.DataBind();
除了放置它之外,我对设计师方面的图表没有任何作用。一旦我将它拖到屏幕上,我就跳到代码中去弄乱它。所以这就是我所做的一切(如果我错过了什么,我不希望任何人认为我不仅因为它不在这里)。
我遇到的问题是“ProductType”列返回18行,但只有3行显示在X轴上!不仅如此,它们也是均匀分布的,好像这3个都是要显示的图表一样。
Y轴很好 - 实际上,总共有18个条形,每个条形似乎都显示出正确的值!所以我有18个条形,只有3个x轴刻度标记:(
任何人都可以看到我在这里做错了什么,或者我能做些什么来解决这个问题?如果绝对必要,我可以静态设置x轴成员,但是这个sproc将来可能会改变,我希望尽可能保持开放状态。
谢谢!