2.函数


  Supcan Chart的函数是通过插件/加载项的 func( string funcname, string paras ) 函数间接调用的,Supcan Chart组件的可用funcname如下:
分类函数名用途
全部函数增加一个系列
增加或更改一个系列
删除一个系列
删除全部系列
取得系列总数
取得某个系列的名称
改变某个数据项的数据
取得某个数据项的数据
取得某个数据项的百分比
取得某个数据项的ID
取得某个数据项的显示文字
设置某个数据项的显示文字
更改外观属性
取得属性值
加载数据
添加一条水平线
删除一条水平线
准备以渐变(Smooth Transition)动画的方式切换数据
数据切换完毕,后续的显示将以连贯的动画方式交替
配置内置的右键菜单项,使之能显示
配置内置的右键菜单项,使之不显示
取得内部非模式对话框的句柄

函数详解:

AddSeries增加一个系列  
参数1系列名,允许以|分隔中英文(用于中英文切换)
参数2数据项的ID, 各个ID之间以Tab(即\t)分隔
参数3数据项对应的数据,各个数据之间以Tab(即\t)分隔
参数4可选,格式为 chart=[?], 表示强制让本系列用单独的统计图类型混搭显示,chart可以为bar,line,curve,area这几种,并且只在坐标类中生效
返回值(无)
备注如果同名系列已经存在,则替换之
示例AF.func("addSeries", "一月份 \r\n 销售一部\t销售二部\t销售三部 \r\n 12000\t 3000\t 10000");
也可以带格式:
AF.func("addSeries", "一月份 \r\n 销售一部\t销售二部\t销售三部 \r\n 12,000.00\t 3,000.00\t 10,000.00");
混搭显示的例子:
AF.func("addSeries", "一月份 \r\n 销售一部\t销售二部\t销售三部 \r\n 12000\t 3000\t 10000 \r\n chart=line");


SetSeries增加或更改一个系列  
参数1顺序号(从0开始计数), 表示要替换的系列, 如果顺序号超出范围, 则增加该系列
参数2系列名,允许以|分隔中英文(用于中英文切换)
参数3数据项的ID, 各个ID之间以Tab(即\t)分隔
参数4数据项对应的数据,各个数据之间以Tab(即\t)分隔
参数5可选,格式为 chart=[?], 表示强制让本系列用单独的统计图类型混搭显示,chart可以为bar,line,curve,area这几种,并且只在坐标类中生效
返回值(无)


DeleteSeries删除一个系列
参数系列名
返回值(无)


DeleteAllSeries删除全部系列  
参数(无)
返回值(无)


GetSeries取得系列总数
参数(无)
返回值整数


GetSeriesName取得某个系列的系列名
参数顺序号(从0开始计数)
返回值字符串,空串表示顺序号已超出范围
示例for(var i=0; i<AF.func("GetSeries", ""); i++) {
    var Name = AF.func("GetSeriesName", i);
}


SetItemData改变某个数据项的数据  
参数1系列名
参数2数据项ID,或顺序号(从0开始)
参数3数据
返回值(无)


GetItemData取得某个数据项的数据
参数1系列名
参数2数据项ID,或顺序号(从0开始)
返回值数值,空串表示该数据项不存在


GetItemPercent取得某个数据项的百分比
参数1系列名
参数2数据项ID,或顺序号(从0开始)
返回值数值,空串表示该数据项不存在


GetItemName或GetItemID, 取得某个数据项的ID
参数1系列名
参数2顺序号(从0开始)
返回值串,空串表示已超出范围


GetItemText取得某个数据项的显示文字
参数数据项ID
返回值


SetItemText设置某个数据项的显示文字
参数1数据项ID
参数2文字串, 允许以|分隔中英文(用于中英文切换)
返回值(无)


SetProp更改外观属性  
参数1可以是 chart、textContent、textArrange、titlePosition、items 等创建参数, 请参见“创建实例”中的子串名(即属性名)
参数2属性的值
返回值(无)


GetProp取得属性值
参数可以是 chart、textContent、textArrange、titlePosition、items 等创建参数, 请参见“创建实例”中的子串名(即属性名)
返回值属性的值


Load加载数据
参数1数据的URL,或直接就是XML/JSON大串,数据格式请参见本文档"3.Load的数据格式"
参数2可选,格式为 mode = [?], 含义如下:
mode - synch或asynch,表示同步或异步加载数据,默认是同步
返回值1/0 - 成功/失败
示例AF.func("load", "../chart/chartdata.aspx \r\n mode=asynch");


AddLine添加一条水平线  
参数类似这样的固定格式:data=[?];Text=[?];Color=[?];style=[?];ID=[?],含义为:
data - 可以是绝对数,或者是“ave”或"AllAve"、"AllAveNoComp" 这样的串, "ave"表示平均线, "AllAve"表示是多系列情况下的总的平均线, "AllAveNoComp"表示扣除混搭部分后的多系列总的平均线;
text - 串,显示在坐标左侧;
Color - 线条颜色, 默认是#C0C0C0;
Style - 线型,可以为 Solid、Dot、DashDot,默认是Solid;
ID - ID号,用于DeleteLine( )函数,如果不调用该函数,则不需要定义,默认是空;
返回值(无)
备注仅在柱状图、折线图、曲线图、区域图时显示
示例AF.func("AddLine", "data=ave;text=平均线;color=#ff0000");


DeleteLine删除一条水平线  
参数ID号 (在AddLine函数中定义的)
返回值(无)


BeginST准备以渐变(Smooth Transition)动画的方式切换数据  
参数(无)
返回值(无)
备注数据刷新完后必须执行 EndST 函数
示例//声明动画渐变交替
AF.func("BeginST", "");
//下面将刷新数据
AF.func("DeleteAllSeries", "");
AF.func("addSeries", "一月份 \r\n 销售一部\t销售二部\t销售三部 \r\n 12000\t 3000\t 10000");
//数据刷新完成,接下去可以以动画渐变交替了
AF.func("EndST", "");


EndST数据切换完毕,后续的显示将以连贯的动画方式交替  
参数(无)
返回值(无)
备注参见 BeginST 函数说明


EnableMenu配置内置的右键菜单项,使之能显示
参数1固定的菜单项名称,以逗号分隔,含义为:
 sort - 排序         chart - 统计图类型   textcontent - 文字内容  textarrange - 文字排列
 titleposition - 标题位置   saveas - 另存为    animation - 动画     transparency - 透明度
以及具体的统计图类型:
 pie  bar  line  curve  area  radar
参数2可选, true - 仅对参数1的菜单项生效; false - 仅显示参数1的菜单项,其余的统统不显示.
默认是true
返回值(无)


DisableMenu配置内置的右键菜单项,使之不显示
参数1同上
参数2可选, true - 仅对参数1的菜单项生效; false - 仅隐藏参数1的菜单项,其余的统统显示.
默认是true
返回值(无)
示例AF.func("DisableMenu", "line, curve");


GetHandle取得内部非模式对话框的句柄
参数可以为串:
innerDialog - 取得内部非模式对话框的freeform的句柄;
返回值句柄串

  此外,Chart还拥有一组和Treelist、Freeform完全一样的全局函数,请参见全局函数介绍。