report5.htm 1.77 KB
<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>