2.函数

Supcan Chart的函数是通过插件/加载项的 func( string funcname, string paras ) 函数间接调用的，Supcan Chart组件的可用funcname如下:

分类 | 函数名 | 用途
--- | --- | ---
全部函数 | AddSeries | 增加一个系列
SetSeries | 增加或更改一个系列
DeleteSeries | 删除一个系列
DeleteAllSeries | 删除全部系列
GetSeries | 取得系列总数
GetSeriesName | 取得某个系列的名称
SetItemData | 改变某个数据项的数据
GetItemData | 取得某个数据项的数据
GetItemPercent | 取得某个数据项的百分比
GetItemName | 取得某个数据项的ID
GetItemText | 取得某个数据项的显示文字
SetItemText | 设置某个数据项的显示文字
SetProp | 更改外观属性
GetProp | 取得属性值
SetSeriesProp | 更改某系列的外观属性
GetSeriesProp | 取得某系列的属性值
Load | 加载数据
AddLine | 添加一条水平线
DeleteLine | 删除一条水平线
BeginST | 准备以渐变(Smooth Transition)动画的方式切换数据
EndST | 数据切换完毕，后续的显示将以连贯的动画方式交替
EnableMenu | 配置内置的右键菜单项，使之能显示
DisableMenu | 配置内置的右键菜单项，使之不显示
GetHandle | 取得内部非模式对话框的句柄

函数详解:

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 等创建参数, 请参见“创建实例”中的子串名(即属性名)
返回值 | 属性的值

SetSeriesProp | 更改某系列的外观属性 |
参数1 | 系列名
参数2 | 可以是 LineThick, 表示折线图的线宽
参数3 | 值, 如果是 LineThick, 0 表示取消单独设置的值(沿用创建参数中的同名值)
返回值 | 1/0 - 成功/失败

GetSeriesProp | 取得某系列的属性值 |
参数1 | 系列名
参数2 | 可以是 LineThick, 表示折线图的线宽, 如果该系列没有设置过, 则返回创建参数中的 LineThick
返回值 | 数字

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完全一样的全局函数，请参见全局函数介绍。