Active Reports chartcontrol дава грешка

Създадох отчет в 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(Lost, 7.0); this.chartControl1.DataSource = таблица; this.chartControl1.Series[0].ValueMemberX = Етикет на елемент; this.chartControl1.Series[0].ValueMembersY = ItemValue; Добавих същия код в rpx и отчет, базиран на код, съдържащ диаграма. но rpx хвърля грешка всеки път, докато няма проблем в базирана на код проба. Защо е така? - person NewtonCode; 05.03.2014

NewtonCode

каква версия на продукта използвате? версия 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-›sectionreportxmlbased). Не съм редактирал rpx файла, за да премахна този атрибут. Трябва да проуча при какви условия атрибутът изчезва. Сега редактирах rpx, за да включа атрибута „special-value=null“ към възела DataSourceDirect (в моя тест, който качих) и той все още показва същата грешка. - person NewtonCode; 07.04.2014
comment
k благодаря. Ще уведомим екипа и ще видим какво имат да кажат. - person Rajnish Sinha; 07.04.2014
comment
Можете ли също да ни кажете кой номер на компилация сте инсталирали, моля. Можете ли да възпроизведете това последователно? Опитвахме различни начини да възпроизведем rpx с грешния възел datasourcedirect, но досега не успяхме. Има ли конкретна стъпка там за диаграмата? просто плъзнете диаграмата върху дизайнера? Имате ли нещо друго след това? - person Rajnish Sinha; 09.04.2014