report5.htm
1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<HTML>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="../temp1.css" type="text/css">
<script type="text/javascript" src="functable.js"></script>
<script>
function gentable()
{
var xmlDoc = getXMLDoc("events.xml?81");
geneventtable('TagEvent', xmlDoc, 'Report');
}
</script>
</head>
<body onLoad="gentable()" bgcolor=#ffffff vlink=#0000ff>
<div id="Tag306"/><br><br><br>
<font style='font-size:15pt'>10.事件</font><hr color=#2266ee size=1>
Supcan Report的OnEvent( id, Event, p1, p2, p3, p4 )事件含义及参数分别如下:<br>
<div id="TagEvent"></div>
<b>备注1</b>:行列增删“前”的4个事件(BeforeRowInserted、BeforeColInserted、BeforeRowDeleted、BeforeColDeleted),是用户交互过程中触发的,增删行列的函数是不会触发该事件的;<br>
<b>备注2</b>:在行列增删“前”事件、以及BeforeCellPropChanged事件中,你可以通过全局函数 CancelEvent 去阻止下一步的行列增删动作,如下例:<br>
<pre class='cpp'>
function OnEvent(id, Event, p1, p2, p3, p4)
{
if(Event == "BeforeRowInserted") {
AF.func("CancelEvent", ""); //阻止插入行
}
}</pre>
<b>备注3</b>:<font color=red>SelChanged、Clicked、DblClicked 和 EditChanged、Editing、CellPropChanged</font>事件需要SubscribeEvent( )预订才会生效, 事件的js用法可参见下例:<br>
<pre class='cpp'>
function OnReady( id )
{
AF.func( 'ReadXML', 'index.XML' ); //加载报表
AF.func("SubscribeEvent", "SelChanged, EditChanged"); //预订事件
}
function OnEvent(id, Event, p1, p2, p3, p4)
{
if( Event == "SelChanged" ) {
//...略
}
}</pre>
<b>备注4</b>:Checked事件必须要先预订 Clicked 事件才能生效;<br>
<b>备注5</b>:可以继续用 GetCellProp 函数获取该单元格的 crosstabRowDir、crosstabColDir 属性,即所在的交叉项;<br>
<br>
<br><br><br><br>
<script type='text/javascript' src='nstd.js'></script>
</body></html>