Grid++report是一款國產報表控件/插件,非常優秀,下載地址:http://www.rubylong.cn/,這款控件可以在delphi的Unigui框架中實現完美報表打印及展示。
我們通過TUniURLFrame控件來調用這款報表。
可以在頁面上加一個TUniURLFrame控件,設置TUniURLFrame控件的Url屬性指向一個已經定義好Activex的html頁面即可。
如下面是一個定義好Grid++Report報表控件的html頁面,只要在TUniURLFrame中把這個頁面定義的地址提供給URL屬性即可以實現在uniGui中打印報表。
<html>
<head>
<title>Web報表(B/S報表)演示 - 自定義報表導出行爲,在事件中改變導出選項,調整默認導出行爲</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script src="../CreateControl.js" language="javascript"></script>
<script language="javascript" type="text/javascript">
// <!CDATA[
CreateReport("Report");
function window_onload() {
//報表顯示器與外部的報表對象關聯。定義外部的報表對象,可以處理報表事件
ReportViewer.Report = Report.MyInterface;
ReportViewer.Start();
}
// ]]>
</script>
<SCRIPT LANGUAGE="JavaScript" FOR="Report" EVENT="ExportBegin(pOptionObject)">
<!--
if (pOptionObject.ExportType == 1) //gretXLS
{
Report.DetailGrid.ColumnTitle.RepeatStyle = 1; //grrsNone
var opt = pOptionObject.AsE2XLSOption;
opt.SameAsPrint = false;
opt.ExportPageHeaderFooter = false;
opt.ExportPageBreak = false;
}
-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript" FOR="Report" EVENT="ExportEnd(pOptionObject)">
<!--
Report.DetailGrid.ColumnTitle.RepeatStyle = 2; //grrsOnPage
-->
</SCRIPT>
<style type="text/css">
html,body {
margin:0;
height:100%;
}
</style>
</head>
<body style="margin:0" οnlοad="window_onload()">
<script language="javascript">
CreatePrintViewerEx("100%", "100%", "../grf/1a.grf", "../data/xmlCustomer.php", false, "");
//CreateDisplayViewerEx("100%", "100%", "../grf/1a.grf", "../data/xmlCustomer.php", false, "<param name=BorderStyle value=0>");
</script>
</body>
</html>