1. Error description
Typeerror: Error #1034: forced conversion type failed: cannot convert "" to array. At MX. charts. series: lineseries/updatefilter () [E: \ Dev \ 4.0.0 \ frameworks \ projects \ datavisualization \ SRC \ MX \ charts \ Series \ lineseries. as: 1225] At MX. charts. chartclasses: Series/validatetransform () [E: \ Dev \ 4.0.0 \ frameworks \ projects \ datavisualization \ SRC \ MX \ charts \ chartclasses \ series. as: 1916] At MX. charts. chartclasses: Series/updatedisplaylist () [E: \ Dev \ 4.0.0 \ frameworks \ projects \ datavisualization \ SRC \ MX \ charts \ chartclasses \ series. as: 948] At MX. charts. series: lineseries/updatedisplaylist () [E: \ Dev \ 4.0.0 \ frameworks \ projects \ datavisualization \ SRC \ MX \ charts \ Series \ lineseries. as: 983] At MX. core: uicomponent/validatedisplaylist () [E: \ Dev \ 4.0.0 \ frameworks \ projects \ framework \ SRC \ MX \ core \ uicomponent. as: 8531] At MX. managers: layoutmanager/validatedisplaylist () [E: \ Dev \ 4.0.0 \ frameworks \ projects \ framework \ SRC \ MX \ managers \ layoutmanager. as: 663] At MX. managers: layoutmanager/dophasedinstantiation () [E: \ Dev \ 4.0.0 \ frameworks \ projects \ framework \ SRC \ MX \ managers \ layoutmanager. as: 718] At MX. managers: layoutmanager/dophasedinstantiationcallback () [E: \ Dev \ 4.0.0 \ frameworks \ projects \ framework \ SRC \ MX \ managers \ layoutmanager. as: 1072]
2. Error cause
<? XML version = "1.0" encoding = "UTF-8"?> <S: Application xmlns: FX = "http://ns.adobe.com/mxml/2009" xmlns: S = "Library: // ns.adobe.com/flex/spark" xmlns: MX = "Library: // ns.adobe.com/flex/mx "width =" 100% "Height =" 100% "fontsize =" 12 "fontfamily =" "> <s: layout> <s: basiclayout/> </S: layout> <FX: SCRIPT> <! [CDATA [import MX. charts. chartitem; import MX. charts. chartclasses. series; import MX. charts. series. items. lineseriesitem; import MX. collections. arraycollection; import MX. events. flexevent; import MX. graphics. stroke; [Bindable] // bind line chart data to private var linearray: arraycollection = new arraycollection ([{seasons: "Spring", rate: "0.48677" },{ seasons: "Summer", rate: "0.122343232" },{ seasons: "Autumn", rate: "0.5657645" },{ seasons: "Winter", rate: "0.67484889"}]);/*** set the number of digits in the line chart ratio */Public Function datafunction (Series: Series, item: object, fieldname: string ): object {var temp: Number = item. rate; var number: String = formatter. format (temp); return number;} public function myfillfunction (item: chartitem, index: Number): String {var curitem: lineseriesitem = lineseriesitem (item); var num: string = formatter. format (curitem. ynumber); Return num;} public function myfilterfunction (item: Object): String {var temp: Number = item. rate; var number: String = formatter. format (temp); return number;}]> </FX: SCRIPT> <FX: declarations> <mx: numberformatter id = "formatter" precision = "2" Rounding = "up"/> </FX: declarations> <mx: vbox width = "100%" Height = "100%" paddingbottom = "10" paddingleft = "10" paddingright = "15" paddingtop = "10" horizontalalign = "center"> <mx: linechart id = "line" width = "100%" Height = "90%" dataprovider = "{linearray}" showdatatips = "true"> <mx: horizontalaxis> <mx: categoryaxis categoryfield = "Seasons" displayname = ""/> </MX: horizontalaxis> <mx: horizontalaxisrenderers> <mx: axisrenderer placement = "bottom" ticklength = "1" tickstroke = "{new stroke (0xff0000, 1)}" axisstroke = "{new stroke (0xff0000, 1 )} "> <mx: Axis> <mx: linearaxis id =" bottomaxis "/> </MX: Axis> </MX: axisrenderer> </MX: horizontalaxisrenderers> <mx: verticalaxisrenderers> <mx: axisrenderer placement = "Left" ticklength = "1" tickstroke = "{new stroke (0xff0000, 1)}" axisstroke = "{new stroke (0xff0000, 1)} "> <mx: Axis> <mx: linearaxis id =" leftaxis "/> </MX: Axis> </MX: axisrenderer> </MX: verticalaxisrenderers> <mx: Series> <mx: lineseries verticalaxis = "{leftaxis}" displayname = "ratio" xfield = "Seasons" yfield = "rate" filterfunction = "myfilterfunction"/> </MX: Series> <mx: filters> <FX: array/> </MX: Filters> </MX: linechart> <mx: Legend dataprovider = "{Line}"/> </MX: vbox> </S: Application>
3. Solution
Typeerror: Error #1034: forced conversion type failed: cannot convert "" to array.