ChartControl Active Reports выдает ошибку

Я создал отчет в Active Reports (файл .rpx), который содержит элемент управления диаграммой «ChartControl1». Источником данных отчета является список, который содержит поля «ItemLabel» и «ItemValue». Файл сценария содержит следующую строку кода.

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";

потому что, если я удалю эту строку, ошибки не будет, но отчет не будет отображаться. Я читал, что эта ошибка возникает из-за неправильной привязки, но здесь это не так, поскольку я дважды проверил это.

В чем может быть проблема?


person NewtonCode    schedule 03.03.2014    source источник


Ответы (2)


Эта ошибка обычно наблюдается, когда строковое значение присваивается свойству ValueMemebersY серии диаграмм, где строковое значение не является допустимым именем поля/столбца в таблице, привязанной к диаграмме как источнику данных.

См. пошаговое руководство, в котором описывается, как создать несвязанную гистограмму на время выполнения с SectionReports (Rpx, а также на основе кода)

Вы также можете обратиться к примеру диаграммы, который поставляется вместе с ActiveReports.

Вы также можете обратиться к следующему сообщению на форуме, к которому прикреплен образец, показывающий аналогичную реализацию: http://our.componentone.com/groups/topic/chart-control-throwing-a-binding-error/

С уважением, Мохита

person MohitaM    schedule 05.03.2014
comment
Я дважды проверил, чтобы подтвердить, что прикрепленное строковое значение является допустимым полем в источнике данных. Не могли бы вы проверить последний пост по следующей ссылке [ссылка] our.componentone.com/groups/topic/ - person NewtonCode; 05.03.2014
comment
Таблица DataTable = новая DataTable(); table.Columns.Add(ItemLabel, typeof(string)); table.Columns.Add(ItemValue, typeof(double)); table.Rows.Add(Won, 5.0); table.Rows.Add(Потерянный, 7.0); this.chartControl1.DataSource = таблица; this.chartControl1.Series[0].ValueMemberX = ItemLabel; this.chartControl1.Series[0].ValueMembersY = ItemValue; Я добавил один и тот же код в rpx и отчет на основе кода, содержащий диаграмму. Но rpx каждый раз выдает ошибку, в то время как в образце на основе кода проблем нет. Почему это так? - person NewtonCode; 05.03.2014

НьютонКод

какую версию продукта вы используете? версия 7 или 8? Это ошибка. мы собираемся это исправить.

person Rajnish Sinha    schedule 06.03.2014
comment
Мы используем версию 7 - person NewtonCode; 07.03.2014
comment
То, что мы обнаружили, что один конкретный узел выписывается, неверно. Как вы сгенерировали rpx? Этот узел: ‹DataSourceDirect› ‹/DataSourceDirect› Но обычно, если мы создаем диаграмму, DataSourceDirect должен быть записан следующим образом: ‹DataSourceDirect special-value=null /› Эта пара атрибут/значение special-value=null отсутствует. Существуют некоторые специальные действия, которые выполняются в зависимости от наличия или отсутствия этого атрибута. Дайте мне знать. Благодарю. - person Rajnish Sinha; 04.04.2014
comment
Я сгенерировал rpx из Visual Studio (на основе addnew-›sectionreportxml). Я не редактировал файл rpx, чтобы удалить этот атрибут. Нужно выяснить, при каких условиях этот атрибут исчезает. Теперь я отредактировал rpx, чтобы включить атрибут «special-value = null» в узел DataSourceDirect (в моем тесте, который я загрузил), и он все еще показывает ту же ошибку. - person NewtonCode; 07.04.2014
comment
к спасибо. Сообщим команде и посмотрим, что они скажут. - person Rajnish Sinha; 07.04.2014
comment
Не могли бы вы также сообщить нам, какой номер сборки вы установили, пожалуйста. Вы в состоянии воспроизвести это последовательно? Мы пытались разными способами воспроизвести rpx с ошибочным узлом datasourcedirect, но пока безуспешно. Есть ли конкретный шаг для диаграммы? просто перетащите диаграмму в конструктор? Вы что-то еще после этого? - person Rajnish Sinha; 09.04.2014