Условие в Highlight

отредактировано July 2012 Раздел: FastReport .NET
При создании отчета в некоторых текстовых колонках я записываю условие : [ARCH.ISCHEKED] == 0
То есть красится ячейка в строке которой данный параметр равен условию.
Но при вызове метода
Table.PrintColumn(2); - в этой колонке написано данное условие пишет следующее :
"Адресат вызова создал исключение"

" ************** Текст исключения **************
System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> System.Exception: Cell248: Error in highlight condition: [ACHR.ISCHECKED] == 0 ---> System.InvalidCastException: Заданное приведение является недопустимым.
в FastReport.ReportScript.CalcExpression(String expression, Variant Value)
--- Конец трассировки внутреннего стека исключений ---
в FastReport.TextObject.GetData() в c:\Builds\1\3.7.5.0\All\Sources\FastReport\TextObject.cs:строка 1221
в FastReport.Table.TableCell.GetData() в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Table\TableCell.cs:строка 512
в FastReport.Table.TableHelper.CopyCells(Int32 originalColumnIndex, Int32 originalRowIndex, Int32 resultColumnIndex, Int32 resultRowIndex) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Table\TableHelper.cs:строка 377
в FastReport.Table.TableHelper.PrintColumn(Int32 columnIndex) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Table\TableHelper.cs:строка 172
в FastReport.Table.TableObject.PrintColumn(Int32 index) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Table\TableObject.cs:строка 498
в FastReport.Table.TableObject.PrintColumns(Int32[] indices) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Table\TableObject.cs:строка 512
в FastReport.ReportScript.Table1_ManualBuild(Object sender, EventArgs e)
--- Конец трассировки внутреннего стека исключений ---
в System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
в System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
в System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
в System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
в System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
в FastReport.Code.ExpressionDescriptor.Invoke(Object[] parameters) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Code\ExpressionDescriptor.cs:строка 35
в FastReport.Code.AssemblyDescriptor.InvokeEvent(String name, Object[] parms) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Code\AssemblyDescriptor.cs:строка 420
в FastReport.Report.InvokeEvent(String name, Object[] parms) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Report.cs:строка 1372
в FastReport.Base.InvokeEvent(String name, Object param) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Base.cs:строка 1078
в FastReport.Table.TableObject.OnManualBuild(EventArgs e) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Table\TableObject.cs:строка 440
в FastReport.Table.TableObject.SaveState() в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Table\TableObject.cs:строка 388
в FastReport.BandBase.SaveState() в c:\Builds\1\3.7.5.0\All\Sources\FastReport\BandBase.cs:строка 969
в FastReport.Engine.ReportEngine.ShowBandToPreparedPages(BandBase band, Boolean getData) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Engine\ReportEngine.Bands.cs:строка 249
в FastReport.Engine.ReportEngine.ShowBand(BandBase band, Boolean getData) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Engine\ReportEngine.Bands.cs:строка 316
в FastReport.Engine.ReportEngine.ShowDataBand(DataBand dataBand, Int32 rowCount) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Engine\ReportEngine.DataBands.cs:строка 161
в FastReport.Engine.ReportEngine.RunDataBand(DataBand dataBand, Int32 rowCount, Boolean keepFirstRow, Boolean keepLastRow) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Engine\ReportEngine.DataBands.cs:строка 83
в FastReport.Engine.ReportEngine.RunDataBand(DataBand dataBand) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Engine\ReportEngine.DataBands.cs:строка 27
в FastReport.Engine.ReportEngine.RunBands(BandCollection bands) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Engine\ReportEngine.Pages.cs:строка 67
в FastReport.Engine.ReportEngine.RunReportPage(ReportPage page) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Engine\ReportEngine.Pages.cs:строка 41
в FastReport.Engine.ReportEngine.RunReportPages() в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Engine\ReportEngine.Pages.cs:строка 55
в FastReport.Engine.ReportEngine.RunReportPages(ReportPage page) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Engine\ReportEngine.cs:строка 343
в FastReport.Engine.ReportEngine.Run(Boolean runDialogs, Boolean append, ReportPage page) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Engine\ReportEngine.cs:строка 376
в FastReport.Report.Prepare(Boolean append) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Report.cs:строка 2236
в FastReport.Report.Show(Boolean modal, IWin32Window owner) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Report.cs:строка 2313
в FastReport.Report.Show(Boolean modal) в c:\Builds\1\3.7.5.0\All\Sources\FastReport\Report.cs:строка 2303
в substation_power_rating.Net.Reports.ACHRConrolMeasurementsTableReport(remotedata remoteConnection) в c:\Builds\1\3.7.5.0\All\Sources\substation_power_rating.Net\Reports.cs:строка 338
в substation_power_rating.Net.xfmMain.barBtnACHR_ItemClick(Object sender, ItemClickEventArgs e) в c:\Builds\1\3.7.5.0\All\Sources\substation_power_rating.Net\xfmMain.cs:строка 340
в DevExpress.XtraBars.BarItem.OnClick(BarItemLink link)
в DevExpress.XtraBars.BarBaseButtonItem.OnClick(BarItemLink link)
в DevExpress.XtraBars.BarItemLink.OnLinkClick()
в DevExpress.XtraBars.BarItemLink.OnLinkAction(BarLinkAction action, Object actionArgs)
в DevExpress.XtraBars.BarButtonItemLink.OnLinkAction(BarLinkAction action, Object actionArgs)
в DevExpress.XtraBars.BarItemLink.OnLinkActionCore(BarLinkAction action, Object actionArgs)
в DevExpress.XtraBars.ViewInfo.BarSelectionInfo.ClickLink(BarItemLink link)
в DevExpress.XtraBars.ViewInfo.BarSelectionInfo.UnPressLink(BarItemLink link)
в DevExpress.XtraBars.Controls.CustomLinksControl.OnMouseUp(MouseEventArgs e)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в DevExpress.XtraBars.Controls.CustomControl.WndProc(Message& msg)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

"

Комментарии

  • отредактировано 01:41
    Здравствуйте,

    Такое может быть, если ARCH.ISCHEKED имеет тип bool. Возможно, правильно будет так -
    [ARCH.ISCHEKED] == false
  • отредактировано July 2012
    AlexTZ написал: »
    Здравствуйте,

    Такое может быть, если ARCH.ISCHEKED имеет тип bool. Возможно, правильно будет так -
    [ARCH.ISCHEKED] == false

    Нет такой вариант не катит.
    В oracle у колонки тип стоит Number
    Источник данных передается через DataTable. В итоге имеет тип Int32
    Если в oracle у колонки изменить тип на Number(1,0) в DataTable тип будет по прежнему Int32, но ошибки уже не возникает.

    Была попытка приведения к типу в самом отчете в выражении ToInt32([ARCH.ISCHEKED] ) == 0 , безрезультатно
  • отредактировано 01:41
    Напечатайте в отчете следующее значение:
    [Report.GetColumnValue("ARCH.ISCHEKED").GetType()]
    это и будет актуальным типом данных. Его надо будет указать в св-ве DataType у колонки ARCH.ISCHEKED.
  • отредактировано 01:41
    Спасибо. попробуем.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.