锐浪报表使用技巧

更新时间:2024-03-02 04:10:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. 套打技巧

(1) 扫描原件电子版作为报表背景 (2) 在报表上面依据背景画出控件位置

(3) 根据字段可以设计数据库和报表的连接进行自动大批量打印 2. 多表头

详见ppt

3. 锐浪报表使用(单数据连接)

数据连接有两种模式(推模式、拉模式),推模式就是由程序代码把连接字符串、SQL语句推送给报表;拉模式则是在明细网格中根据填好的连接字符串、SQL语句由报表自身自主查询(不建议,连接语句包含在报表中,不太安全)。

private GridppReport Report = new GridppReport();//1.定义一个新报表 public void showreport() {

//2.载入报表模板数据

//Report.LoadFromFile(GridppReportDemo.Utility.GetReportTemplatePath() + \

Report.LoadFromFile(Application.StartupPath + \);

//3.设置与数据源的连接串,因为在设计时指定的数据库路径是绝对路径。 Report.DetailGrid.Recordset.ConnectionString =

\Catalog=ry_powder;Data Source=192.168.8.18;Use Procedure for Prepare=1;Auto

Translate=True;Packet Size=4096;Workstation ID=UNCLE13;Use Encryption for Data=False;Tag with column collation when possible=False\;

//4.连接报表取数事件

Report.Initialize += new _IGridppReportEvents_InitializeEventHandler(MyReport); //5.设定查询显示器要显示的报表

axGRPrintViewer1.Report = Report; }

private void MyReport()//报表查询条件 {

string startdate = dateTimePicker1.Value.ToString(\); string enddate = dateTimePicker2.Value.ToString(\);

string SQL = \

unit = '\ +

comboBox1.Text + \ + comboBox2.Text + \ + comboBox3.Text + \ + comboBox4.Text + \ + startdate + \ + enddate + \; //用拉模式为报表提供数据,将按条件生成的SQL设置到报表上 Report.DetailGrid.Recordset.QuerySQL = SQL; }

4. 子报表意义及说明

因为主报表只能定义一个数据连接,但是有时候我们要做多个查询,分别做几个报表是可以的,但是会显得比较乱,所以我们在主报表中添加一个或多个子报表来实现。

主要用途:

1、将多个不同的报表集中在一起打印,且每个报表的页面设置可以不一样,如纸张大小与纸张方向。 2、希望多个报表集中导出到一个文件。

3、实现在导出Excel时,将不同的报表分别导出在不同的工作表(sheet)中。设置子报表的“导出到新工作表”属性为“是”,这个子报表在导出Excel时将单独产生在一个新工作表中。

5. 多个数据连接(子报表) 实现方法:

就是在载入报表时,定义子报表名称(绿色部分),隶属于主报表模块(红色部分)

//1.获取子报表的内部报表对象 GridppReport rptCustomerList =

rptMain.ControlByName(\).AsSubReport.Report; GridppReport rptTop10Customer =

rptMain.ControlByName(\).AsSubReport.Report; GridppReport rptTop10Product =

rptMain.ControlByName(\).AsSubReport.Report;

//2.设置与数据源的连接串。

rptCustomerList.DetailGrid.Recordset.ConnectionString = “”; rptTop10Customer.DetailGrid.Recordset.ConnectionString = “”; rptTop10Product.DetailGrid.Recordset.ConnectionString = “”;;

//3.连接报表事件

rptProductList.FetchRecord += new

_IGridppReportEvents_FetchRecordEventHandler(MyReport);

6. 主报表子报表参数关联

参数前边加上一个:号,select * from Customers where City=:City 见4d.子报表主子关联.grf

报表统计

报表要形成类似excel的统计类型也是可以的,首先一般都有”明细网格”,我们把想要设置的列设置为“自由格”,然后在自由格中插入“综合文字框(memoBox)”,在“综合文字框(memoBox)”完成统计。

传值(控件、参数)

控件传值:

添加二维码,并初始化为 666666

Report.ControlByName(\).AsBarcode.Text = \; StaticBox1传值

Report.ControlByName(\).AsStaticBox.Text = \;

参数传值(不一样,注意)

Report.ParamterByName(\ Report.ParameterByName(\

4.折线图、二维码

折线图(其他类似,柱图、) 1.X轴y轴名字(必选) 2.图表标题(可选)

3.数据序列数(有几种数据) 4.数据组数(x轴数据列数目)

5.x轴(x轴标签、x轴刻度间隔、最小值、最大值) 6. y轴(y轴标签、y轴刻度间隔、最小值、最大值) 7.图表数据(所有数据)

实现方法:

1.建立图表,设置

private void myreport()

}

IGRChart pChartScatterLine = FillXYValues2(pChartScatterLine);

Report.ControlByName(\).AsChart; //折线图

IGRChart pChartScatter = Report.ControlByName(\).AsChart; FillXYValues(pChartScatter); //随机散点图

IGRChart pChartPie = Report.ControlByName(\).AsChart; //饼图 FillNormalValues(pChartPie);

{

IGRChart pChartBar = Report.ControlByName(\).AsChart; //柱形图 FillNormalValues(pChartBar);//填充值方法,见下

SetCustomGraphFillColor(pChartBar);//颜色方法,参见chart例子,用处不大

//向柱图、叠加柱图、连线图与饼图提供数据

protected static void FillNormalValues(IGRChart pChart) {

pChart.SeriesCount = 3;//数据序列数(有几种数据) pChart.GroupCount = 4;//数据组数(x轴数据列数目) //pChart.XAxisMinimum = 0; //pChart.XAxisMaximum = 60; //pChart.XAxisSpace = 15;

}

pChart.set_Value(2, 0, 800); pChart.set_Value(2, 1, 1000); pChart.set_Value(2, 2, 700); pChart.set_Value(2, 3, 500);

pChart.set_Value(1, 0, 1500); pChart.set_Value(1, 1, 1800); pChart.set_Value(1, 2, 2000); pChart.set_Value(1, 3, 1200);

pChart.set_Value(0, 0, 1000); pChart.set_Value(0, 1, 1200); pChart.set_Value(0, 2, 1500); pChart.set_Value(0, 3, 800);

pChart.set_SeriesLabel(0, \张三\); pChart.set_SeriesLabel(1, \李四\); pChart.set_SeriesLabel(2, \王五\); pChart.set_GroupLabel(0, \一\); pChart.set_GroupLabel(1, \二\); pChart.set_GroupLabel(2, \三\); pChart.set_GroupLabel(3, \四\);

//下面方法以随机数填充折线图,折线图采用下面的思路,双for循环读取数据库或者参数生成图表 //提供散点连线图的数据,产生随机坐标点数据,保持X值是递增的,并自定义XY轴刻度位置与显示文字

pChart.EmptyXYValue();

for (short i=0; i

double x = 0;

int DataCount = MyRandom.Next(30); for (short j=0; j

protected static void FillXYValues2(IGRChart pChart) {

Random MyRandom = new Random();

}

}

{ }

x += MyRandom.NextDouble() * 10; double y = MyRandom.NextDouble() * 300; pChart.AddXYValue(i, x, y);

//设置纵坐标刻度文字 pChart.EmptyYAxisText(); pChart.AddYAxisText(0, \); pChart.AddYAxisText(50, \); pChart.AddYAxisText(100, \); pChart.AddYAxisText(200, \); pChart.AddYAxisText(300, \); pChart.AddYAxisText(400, \); //设置横坐标刻度文字 pChart.EmptyXAxisText(); pChart.AddXAxisText(0, \); pChart.AddXAxisText(10, \); pChart.AddXAxisText(30, \); pChart.AddXAxisText(40, \); pChart.AddXAxisText(60, \); pChart.AddXAxisText(80, \); pChart.AddXAxisText(100, \);

二维码

通过传值对控件进行赋值。

本文来源:https://www.bwwdw.com/article/gjda.html

Top