直接上代码:
界面
//定义Grid++Report报表主对象
private GridppReport Report = new GridppReport();
/// <summary>
/// 窗体打开
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FrmCrosstabAppendItem_Load(object sender, EventArgs e)
{
//载入报表模板数据
Report.LoadFromFile(Application.StartupPath + "\\Program\\3a.FrmCrosstabAppendItem.grf");
//设置与数据源的连接串,因为在设计时指定的数据库路径是绝对路径。
Report.DetailGrid.Recordset.ConnectionString = Utility.GetDatabaseConnectionString();
//设置新的查询语句,减少数据量,便于查看补充的数据项目
Report.DetailGrid.Recordset.QuerySQL = "SELECT * FROM Config_PaymentMethod where methodCode>02";
//连接报表事件
Report.ProcessBegin += new _IGridppReportEvents_ProcessBeginEventHandler(ReportProcessBegin);
//设置报表查询显示器控件的关联报表对象
axGRDisplayViewer1.Report = Report;
//启动报表运行
axGRDisplayViewer1.Start();
}
/// <summary>
/// 打印
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnPrint_Click(object sender, EventArgs e)
{
Report.Print(true);
}
/// <summary>
/// 打印浏览
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnPrintPreview_Click(object sender, EventArgs e)
{
Report.PrintPreview(true);
}
报表设计