![]() |
1.统计图中的数据来自Treelist, 请切换行,观察统计图的联动效果(注:仅对单记录显示有效); 2.请修改表格中的数据,观察统计图的联动效果; |
| 显示记录数: 类型: 混搭 (仅坐标类) 文字排列: 文字内容: 标题位置: 柱状图图案: 平均线 (仅坐标类) 显示零值线条 (仅坐标类) 显示背景图 |
|
![]() |
1.二者的联动是通过事件驱动的,以下是js的主要部分:
var lastRow="";
function OnEvent(id, Event, p1, p2, p3, p4)
{
//只关心Treelist的事件
if(id!='AF1') return;
//内容输入事件
if( Event == "EditChanged" ) {
var seriesName = AF1.func("GetCellData", p1 +"\r\nse"); //取得系列名
var title = AF1.func("GetColTitle", p2); //取得列名
var data = AF1.func("GetCellData", p1 +"\r\n" + p2); //取得当前单元格的数据
AF2.func("SetItemData", seriesName +"\r\n"+ title +"\r\n" +data);
}
//当前行切换事件
else if(Event == "SelChanged" && lastRow!=p1) {
lastRow = p1;
if(bOne) { //单记录时
AF2.func("DeleteAllSeries", ""); //删除原有的所有Series
AddSeries(p1); //调用下面的AddSeries()函数增加Series
}
}
}
//添加一个Series
function AddSeries(row)
{
var titles="", datas="";
var seriesName = AF1.func("GetCellData", row +"\r\nse");
//逐列取列名、数据
for(var col=AF1.func("GetNextValidCol", ""); col!=""; col=AF1.func("GetNextValidCol", col)) {
if(col=="se") continue;
var title = AF1.func("GetColTitle", col);
titles += title + "\t";
var data = AF1.func("GetCellData", row +"\r\n" + col);
datas += data + "\t";
}
//End:
AF2.func("AddSeries", seriesName +"\r\n"+ titles +"\r\n" +datas);
}
|