ATGrid报表控件的网页完整代码分析
初次接触ATGrid的朋友,对ATGrid的工作原理还不清楚,如果你仔细看完下面的例子,那么就会领会到ATGrid的工作原理;每个例子都有源吗解释和显示报表的在线效果,如果感觉有参考价值,那么可以把代码复制下来构置自己的测试例子;下面的例子是由简单到复杂循序渐进,如果感觉前面的例子都已经看懂,那么可以直接跳转到需要的例子上。
下载地址:
http://www.etcell.com/
http://www.etcell.com/download.aspx?id=51
1、完整代码例子1
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>New Page 1</title>
</head>
<body>
<p align="center">
<object classid="clsid:D0CB6A0C-E656-4BF4-BD2D-6AE5EC183D7C" id="ATGrid1" width="665" height="471">
<param name="FileName" value="C:\ATGrid\CaiGouDingDan.eT">
<param name="BackColor" value="#ffe7dd">
<param name="Border3D" value="False">
<param name="Ruler" value="False">
</object>
</p>
</body>
</html>
解释:
网页中ATGrid控件显示时会自动读取C:\ATGrid\CaiGouDingDan.eT报表文件,并且显示在控件中。
2、完整代码例子2
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>New Page 1</title>
</head>
<body>
<p align="center">
<object classid="clsid:D0CB6A0C-E656-4BF4-BD2D-6AE5EC183D7C" id="ATGrid2" codebase="http://www.etcell.com/ATGrid/ATGrid.cab#version=1,0,0,1" width="665" height="471">
<param name="FileName" value="http://www.etcell.com/Sales/ETTable/CaiGouDingDan.eT">
<param name="BackColor" value="#ffe7dd">
<param name="Border3D" value="False">
<param name="Ruler" value="False">
</object>
</p>
</body>
</html>
解释:
网页中ATGrid控件显示时会自动读取http://www.etcell.com/Sales/ETTable/CaiGouDingDan.eT报表文件,并且显示在控件中。如果ATGrid控件在浏览网页机器上没有注册,那么会自动从http://www.etcell.com/ATGrid/ATGrid.cab网址下载和提示安装,如果机器已经注册了,并且注册的版本比1,0,0,1版本低,也会从http://www.etcell.com/ATGrid/ATGrid.cab网址自动下载和安装升级。
3、完整代码例子3
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>New Page 1</title>
</head>
<body>
<p align="center">
<object classid="clsid:D0CB6A0C-E656-4BF4-BD2D-6AE5EC183D7C" id="ATGrid3" codebase="http://www.etcell.com/ATGrid/ATGrid.cab#version=1,0,0,1" width="665" height="471">
<param name="FileName" value="http://www.etcell.com/Sales/ETTable/CaiGouDingDan.eT">
<param name="BackColor" value="#ffe7dd">
<param name="Border3D" value="False">
<param name="Ruler" value="False">
<param name="DataSource" value="ImportXML.asp">
</object>
</p>
</body>
</html>
解释:
除了包含上面例子2的解释外,在装载了报表式样模版后,ATGrid控件会自动调用ImportXML.asp程序,把程序ImportXML.asp执行的结果[数据源]装载到报表式样中,这样模版和动态数据就整合到一张动态报表中了!
ImportXML.asp负责访问WEB服务器端的数据库,并且把数据库的内容用XML方式表现出来Response给ATGrid控件.本例子只是说明原理,如果感兴趣可以加入访问数据库的功能,访问数据库的功能利用现有ASP,JSP,PHP,CGI等程序的强大访问功能。
程序ImportXML.asp代码清单如下:
<?xml version="1.0" encoding="gb2312"?>
<EtCell ReadOnly="TRUE" FileName="jk_cx1.eT">
<CELLDATA>
<CELL row="2" col="11" Name="Button1" Type="Button" value="First" Align="Center" VAlign="MIDDLE">
<SCRIPT language="JavaScript" Event="OnClick" Value="alert('aaaaaaaaa');">
ATGrid1.BindFirstBuffer();
</SCRIPT>
</CELL>
<CELL row="2" col="12" Name="Button2" Type="Button" value="Next" Align="Center" VAlign="MIDDLE">
<SCRIPT language="JavaScript" Event="OnClick" Value="alert('aaaaaaaaa');">
ATGrid1.BindNextBuffer();
</SCRIPT>
</CELL>
<CELL row="2" col="13" Name="Button2" Type="Button" value="Prev" Align="Center" VAlign="MIDDLE">
<SCRIPT language="JavaScript" Event="OnClick" Value="alert('aaaaaaaaa');">
ATGrid1.BindPrevBuffer();
</SCRIPT>
</CELL>
<CELL row="11" col="8" Max="3000" Min="200" />
<CELL row="12" col="8" Max="3000" Min="300" />
<CELL row="13" col="8" Max="4000" Min="-200" />
<CELL row="2" col="2" Type="Edit" ReadOnly="1" />
<CELL row="2" col="5" ReadOnly="0" Fixed="0" />
<CELL row="6" col="4" Type="Edit" />
<CELL row="8" col="11" Type="Edit" />
<CELL row="8" col="5" Name="Name" Print="false" AliasSet="AliasSet1" />
<CELL row="16" col="2" Name="Address" Print="false" AliasSet="AliasSet1" />
<CELL row="6" col="2" bgColor="#FF00FF" color="#0000ff" value="工作单位" href="http://www.webtea.com.cn/" Print="false" Fixed="yes" />
<CELL row="5" col="2" FontName="华文行楷" FontSize="16" value="交货日期" color="#ff0000" bgColor="#0000ff" Print="false" Fixed="no" />
<CELL row="12" col="2" type="picture" file="http://www.etcell.com/Images/prduect.gif" mode="401" />
</CELLDATA>
<ALIASDATA Name="Alias1" Type="Set">
<Name Type="Select" value="济南昂利万软件有限公司" AliasSet="AliasSet1" >
<option value="1111111111">aaaaa</option>
<option selected="true" value="22222222222222222222">济南昂利万软件公司</option>
<option>cccccc</option>
<option>ddddd</option>
</Name>
<Address Type="Text" Value="山东省济南市" AliasSet="AliasSet1" />
<ShenFenZheng bgColor="#0F10FF" href="http://www.webtea.com.cn/" />
</ALIASDATA>
<ETSet Name="ETSet1" Type="Delete" />
<ETSet Name="ETSet1" Type="Add" StartRow="11" EndRow="16" FixedRows="TRUE">
<Field Name="Name" Type="" Col="2" />
<Field Name="Company" Type="" Col="6" />
<Field Name="Num" Type="" Col="7" />
<Field Name="Price" Type="" Col="8" />
</ETSet>
<RowData Name="ETSet1" Type="Nomal" FixedRows="true">
<ROW ID="1">
<Name Value="字段值111">
<SCRIPT language="JavaScript" Event="OnClick" Value="alert('aaaaaaaaa');">
alert("点击了List按钮!");
</SCRIPT>
</Name>
<Company Value="济南昂利万软件有限公司" Href="http://www.etcell.com/" />
<Num Value="100" color="#FF0000" bgColor="#FF00FF" />
<Price Value="2000" />
</ROW>
<ROW ID="2">
<Name Value="Name222">
<SCRIPT language="JavaScript" Event="OnClick" Value="alert('aaaaaaaaa');">
alert("点击了List按钮!");
</SCRIPT>
</Name>
<Company>Company2</Company>
<Num color="#FF0000" bgColor="#FF00FF">20</Num>
<Price Value="2000" />
</ROW>
</RowData>
</EtCell>
上面只是给出了用ATGrid开发时完整的代码例子,例子都是非常的简短,目的是为了大家能很快的入手!
如果在ImportXML.asp程序中看不懂有些XML标签含义,那没有关系,后面会详细阐述各个标签的用法;
在此只是告诉大家ATGrid的工作原理,只要从中明白工作机制,那么就够了!
如果看懂了例子,明白了ATGrid的工作原理,那么可以到网站下载例子!
Http://www.etcell.com/ 网站将会推出丰富的例子供你下载,便于节省你的时间,提高开发效率!