2014-03-03 19 views
1

我在Active Reports(.rpx文件)中创建了一个包含chartcontrol'ChartControl1'的报表。 报告数据源是包含'ItemLabel'和'ItemValue'字段的列表 脚本文件包含以下代码行。Active Reports图表控件给出错误

public void ActiveReport_ReportStart() 
{ 
    this.ChartControl1.DataSource = rpt.DataSource; 
    this.ChartControl1.Series[0].ValueMemberX = "ItemLabel"; 
    this.ChartControl1.Series[0].ValueMembersY = "ItemValue"; 
} 

显然,我得到它说

“不支持System.String类型的数据源。参数名: genericDataSource” 错误

和这条线是造成问题。

this.ChartControl1.Series[0].ValueMembersY = "ItemValue"; 

因为如果我删除这一行,没有错误,但报告不会呈现。 我已经阅读,由于不正确的绑定发生此错误,但它不是这种情况,因为我已经doublechecked它。

可能是什么问题?

回答

0

当字符串值被分配给图表系列的ValueMemebersY属性时,通常会出现此错误,其中字符串值不是绑定到图表的表中的有效字段/列名称,因为它是数据源。

请参阅介绍如何在运行时创建与SectionReports(基于RPX以及代码)未绑定的条形图

你还可以指的是与沿ActiveReports中附带的charting samplewalkthrough

您也可以参考下面的论坛上发帖,其中一个样品已经附呈现出类似的实现: http://our.componentone.com/groups/topic/chart-control-throwing-a-binding-error/

问候, Mohita

+0

我有双重检查,以确认附加的字符串值是数据源中的有效字段。请问您可以在以下链接中查看lat帖子 [link] http://our.componentone.com/groups/topic/datasource-of-type-system-string-is-not-supported-on-bar-chart/ – NewtonCode

+0

DataTable table = new DataTable(); table.Columns.Add(“ItemLabel”,typeof(string)); table.Columns.Add(“ItemValue”,typeof(double)); table.Rows.Add(“Won”,5.0); table.Rows.Add(“Lost”,7.0); this.chartControl1.DataSource = table; this.chartControl1.Series [0] .ValueMemberX =“ItemLabel”; this.chartControl1.Series [0] .ValueMembersY = ItemValue“; 我已经添加了相同的代码在rpx和基于代码的报告中包含chart.but rpx每次抛出错误,而基于codeb的sample.why没有问题吗? – NewtonCode

0

NewtonCode

您使用的是什么版本的产品?版本7或8?它是一个错误。我们将解决它。

+0

We正在使用版本7 – NewtonCode

+0

我们发现一个特定的节点被写出是不正确的。您是如何生成rpx的? 此节点: 但是一般地,如果我们创建了一个图表,该DataSourceDirect应写成这样, 即special-value =“null”属性/值对缺失。有一些特殊的处理是基于该属性的存在或不存在而完成的。 让我知道。谢谢。 –

+0

我从visual studio生成rpx(addnew-> sectionreportxmlbased).i还没有编辑rpx文件来删除该属性。需要调查属性消失的条件。 我现在编辑了rpx以包含属性'special-value = null'到DataSourceDirect节点(在我测试中,我上传了),它仍然显示相同的错误。 – NewtonCode