从SQL数据库加载我的高图系列数据时出现参数不匹配错误。
这是我的正确代码:
public List<string> staging()
{
List<string> stages = new List<string>();
string commandText = "select sc.stagename from currentstage cs inner join stagesconfig sc on cs.stages_id = sc.stages_id group by cs.stages_id,sc.stagename";
using (var conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["Data"].ToString()))
using (var cmd = new SqlCommand(commandText, conn))
{
conn.Open();
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
stages.Add(reader.GetValue(0).ToString());
}
}
}
return stages;
}
public List<int> counter()
{
List<int> counts = new List<int>();
string commandTexter = "select count(cs.stages_id) as StageCount from currentstage cs inner join stagesconfig sc on cs.stages_id = sc.stages_id group by cs.stages_id,sc.stagename";
using (var conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["Data"].ToString()))
using (var cmd = new SqlCommand(commandTexter, conn))
{
conn.Open();
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
counts.Add((Int32)reader.GetValue(0));
}
}
}
return counts;
}
public void Funnel()
{
var a = counter();
var b = staging();
Highcharts chart = new Highcharts("chart")
.InitChart(new Chart { Type = ChartTypes.Funnel, MarginRight = 100, Width = 600, Height = 400 })
.SetTitle(new DotNet.Highcharts.Options.Title { Text = "Sales funnel", X = -50 })
.SetPlotOptions(new PlotOptions
{
Series = new PlotOptionsSeries
{
DataLabels = new PlotOptionsSeriesDataLabels
{
Enabled = true,
Format = "<b>{point.name}</b> ({point.y:,.0f})",
Color = Color.FromName("black")
}
}
})
.SetLegend(new Legend { Enabled = false })
.SetSeries(new Series
{
Name = "Stages",
Data = new Data(new object[]
{
new object[] { b, a},
}),
}
);
chrtMyChart.Text = chart.ToHtmlString();
}
我的所有数据都已正确检索但是创建新的数据对象会导致参数不匹配错误。请帮助
数据应如下所示(来自评论):
Data = new Data(new object[] {
new object[] {"Website visits", 10000},
new object[] {"Downloads", 5000},
new object[] {"Requested price list", 2000},
new object[] {"Invoice sent", 1000},
new object[] {"Finalized", 500}
});