Hi team
I need a help below, I have modified my code. By adding these argument together with buffer handle. Now I'm getting this exception below. What could be the cause? Please help.
I need a help below, I have modified my code. By adding these argument together with buffer handle. Now I'm getting this exception below. What could be the cause? Please help.
Code:
DEFINE TEMP-TABLE tt NO-UNDO
FIELD sys-cono AS CHARACTER
FIELD pb-partno AS CHARACTER
FIELD pb-acost AS DECIMAL
FIELD pb-onhand AS INTEGER
INDEX xIdx IS PRIMARY UNIQUE sys-cono.
DEFINE PRIVATE VARIABLE series1 AS Infragistics.UltraChart.Resources.Appearance.NumericSeries NO-UNDO.
DEFINE PRIVATE VARIABLE series2 as Infragistics.UltraChart.Resources.Appearance.NumericSeries NO-UNDO.
METHOD PROTECTED DataTable ProTT2DataTable( queryHandle as HANDLE, fieldNames as CHARACTER ):
DEFINE VARIABLE listRecord as System.Array no-undo.
DEFINE VARIABLE fieldHandle as HANDLE NO-UNDO EXTENT.
DEFINE VARIABLE bufferHandle as HANDLE NO-UNDO.
DEFINE VARIABLE i as INTEGER NO-UNDO.
DEFINE VARIABLE numFields as INTEGER NO-UNDO.
DEFINE VARIABLE dataTable as DataTable NO-UNDO.
DEFINE VARIABLE dataColumn as DataColumn NO-UNDO.
ASSIGN
bufferHandle = queryHandle:GET-BUFFER-HANDLE (1)
dataTable = NEW DataTable( bufferHandle:NAME )
numFields = ( if fieldnames <> "" THEN NUM-ENTRIES( fieldNames ) ELSE bufferHandle:NUM-FIELDS )
EXTENT( fieldHandle ) = numFields
listRecord = System.Array:CreateInstance( Progress.Util.TypeHelper:GetType( "System.Object" ), numFields ).
DO i = 1 TO EXTENT( fieldHandle ):
ASSIGN
fieldHandle[i] = ( if fieldnames <> "" then bufferHandle:BUFFER-FIELD(ENTRY( i, fieldNames )) ELSE bufferHandle:BUFFER-FIELD( i ))
dataColumn = dataTable:Columns:Add( fieldHandle[i]:Name)
dataColumn:Caption = fieldHandle[i]:LABEL.
END.
queryHandle:REPOSITION-TO-ROW (1).
DO WHILE queryHandle:GET-NEXT ():
DO i = 1 TO EXTENT( fieldHandle ):
listRecord:SetValue( fieldHandle[i]:BUFFER-VALUE, i - 1 ).
end.
dataTable:Rows:Add( listRecord ).
END.
RETURN dataTable.
END METHOD.
METHOD PRIVATE STATIC System.Type DotNetType( ProgressType as CHARACTER ):
CASE ProgressType:
WHEN "character" THEN RETURN TypeHelper:GetType("System.String").
WHEN "integer" THEN RETURN TypeHelper:GetType("System.Int32").
WHEN "int64" THEN RETURN TypeHelper:GetType("System.Int64").
WHEN "date" THEN RETURN TypeHelper:GetType("System.DateTime").
WHEN "datetime" THEN RETURN TypeHelper:GetType("System.DateTime").
WHEN "decimal" THEN RETURN TypeHelper:GetType("System.Decimal").
WHEN "logical" THEN RETURN TypeHelper:GetType("System.Boolean").
WHEN "blob" THEN RETURN TypeHelper:GetType("System.Drawing.Bitmap").
END.
END METHOD.
METHOD PUBLIC VOID bindSeries1( dTable as DataTable, dValue as CHARACTER, dLabel as CHARACTER ):
series1:DataBind( dTable, dValue, dLabel ).
END.
METHOD PUBLIC VOID bindSeries2( dTable as DataTable, dValue as CHARACTER, dLabel as CHARACTER ):
series2:DataBind( dTable, dValue ).
END.
METHOD PRIVATE VOID InitializeChart():
DEFINE VARIABLE qc as HANDLE NO-UNDO.
DEFINE VARIABLE i as INTEGER NO-UNDO.
SESSION:APPL-ALERT-BOXES = TRUE.
DO i = 1 to 20:
CREATE tt.
ASSIGN
tt.sys-cono = "i" + STRING( i )
tt.pb-onhand = i
tt.pb-acost = DECIMAL(1.2 ).
END.
CREATE QUERY qc.
qc:SET-BUFFERS( BUFFER tt:HANDLE ).
qc:QUERY-PREPARE ("preselect each tt").
qc:QUERY-OPEN ().
automate:Handle = qc.
bindSeries1( ProTT2DataTable( qc, "pb-acost,pb-partno" ), "pb-partno", "pb-acost" ).
bindSeries2( ProTT2DataTable( qc, "pb-acost,pb-onhand" ), "pb-onhand", "sys-cono" ).
ultraChart:Refresh().
ultraChart:Show().
end method.
// put this on my Initialized Method
[code]
METHOD PRIVATE VOID InitializeComponent( ):
DEFINE VARIABLE chartLayer1 AS ChartLayerAppearance NO-UNDO.
DEFINE VARIABLE chartLayer2 as ChartLayerAppearance NO-UNDO.
//DEFINE VARIABLE linapp2 AS LineChartAppearance no-undo.
DEFINE VARIABLE xAxis AS AxisItem NO-UNDO.
DEFINE VARIABLE x2Axis AS AxisItem NO-UNDO.
DEFINE VARIABLE yAxis AS AxisItem NO-UNDO.
DEFINE VARIABLE y2Axis AS AxisItem NO-UNDO.
ultraChart = NEW Infragistics.Win.UltraWinChart.UltraChart().
automate = NEW Progress.Data.BindingSource().
CAST( THIS-OBJECT:ultraChart,System.ComponentModel.ISupportInitialize ):BeginInit().
CAST( THIS-OBJECT:automate, System.ComponentModel.ISupportInitialize ):BeginInit().
THIS-OBJECT:SuspendLayout().
DEFINE VARIABLE chartWidth AS INTEGER NO-UNDO INIT 600.
DEFINE VARIABLE chartHeight AS INTEGER NO-UNDO INIT 500.
ASSIGN
THIS-OBJECT:NAME = "myCompositeChart"
THIS-OBJECT:Text = "myCompositeChart"
ultraChart:NAME = "ultraChart"
ultraChart:Size = NEW System.Drawing.Size(chartWidth, chartHeight)
ultraChart:Location =NEW System.Drawing.Point(0, 0)
ultraChart:ChartType = Infragistics.UltraChart.Shared.Styles.ChartType:Composite
automate:TableSchema = ?.
ASSIGN
chartLayer2 = NEW ChartLayerAppearance()
xAxis = NEW AxisItem()
yAxis = NEW AxisItem()
x2Axis = NEW AxisItem()
y2Axis = NEW AxisItem().
ASSIGN
xAxis:AxisNumber = AxisNumber:X_Axis
xAxis:LineThickness = 1
xAxis:DataType = AxisDataType:String
xAxis:Labels:Orientation = TextOrientation:VerticalLeftFacing
xAxis:Labels:ItemFormatString = "<ITEM_LABEL>"
yAxis:AxisNumber = AxisNumber:Y_Axis
yAxis:LineThickness = 1
yAxis:DataType = AxisDataType:Numeric
yAxis:TickmarkStyle = AxisTickStyle:Smart
yAxis:Labels:ItemFormatString = "<DATA_VALUE:#.#>"
x2Axis:AxisNumber = AxisNumber:X_Axis
x2Axis:LineThickness = 1
x2Axis:DataType = AxisDataType:String
x2Axis:Labels:Orientation = TextOrientation:VerticalLeftFacing
x2Axis:Labels:ItemFormatString = "<ITEM_LABEL>"
y2Axis:AxisNumber = AxisNumber:Y_Axis
y2Axis:LineThickness = 1
y2Axis:DataType = AxisDataType:Numeric
y2Axis:TickmarkStyle = AxisTickStyle:Smart
yAxis:Labels:ItemFormatString = "<DATA_VALUE:#.#>".
ultraChart:CompositeChart:ChartLayers:Add( chartLayer2 ).
THIS-OBJECT:Controls:Add( THIS-OBJECT:ultraChart ).
THIS-OBJECT:Size = NEW Size(800, 600).
CAST( THIS-OBJECT:ultraChart, System.ComponentModel.ISupportInitialize ):EndInit().
CAST( THIS-OBJECT:automate, System.ComponentModel.ISupportInitialize ):EndInit().
THIS-OBJECT:ResumeLayout( FALSE).
THIS-OBJECT:PerformLayout().
/* NOTE: The following method is automatically generated.
We strongly suggest that the contents of this method only be modified using the