锐浪报表使用技巧Gird++


 套打技巧 
1) 扫描原件电子版作为报表背景 
2) 在报表上面依据背景画出控件位置 
3) 根据字段可以设计数据库和报表的连接进行自动大批量打印 
 多表头 
ppt 
 锐浪报表使用(单数据连接) 

,推模式就是由程序代码把连接字符串、SQL
拉模式则是在明细网格中根据填好的连接字符串、SQL语句由报表自
。 

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

//2.载入报表模板数据 
//Report.LoadFromFile(GridppReportDemo.Utility.GetReportTemplatePath() + 
 
Application.StartupPath + "\\1.grf"); 

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


连接报表取数事件 
new _IGridppReportEvents_InitializeEventHandler(MyReport); 
设定查询显示器要显示的报表 


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

string startdate = dateTimePicker1.Value.ToString("yy-MM-dd 0:00:00"); 
string enddate = dateTimePicker2.Value.ToString("yy-MM-dd 23:59:59"); 

string SQL = "SELECT * FROM production_material_lose WHERE  unit = '" + 
"' AND unit_2 = '" + comboBox2.Text + "' AND materialtype = '" + 
"' AND typedetail = '" + comboBox4.Text + "' and uploaddate  >= '" + 
"' and uploaddate  <='" + enddate + "'"; 
用拉模式为报表提供数据,将按条件生成的SQL设置到报表上 

 子报表意义及说明 

 
、将多个不同的报表集中在一起打印,且每个报表的页面设置可以不一样,如纸张大小与纸张方向。 
、希望多个报表集中导出到一个文件。 
、实现在导出Excel时,将不同的报表分别导出在不同的工作表(sheet)中。设置子报表的“导出到新工作
”属性为“是”,这个子报表在导出Excel时将单独产生在一个新工作表中。  


 多个数据连接(子报表) 
 
,隶属于主报表模块(红色部分) 
获取子报表的内部报表对象 
 rptCustomerList = 
"srCustomerList").AsSubReport.Report; 
 rptTop10Customer = 
"srTop10Customer").AsSubReport.Report; 
 rptTop10Product = 
"srTop10Product").AsSubReport.Report; 

设置与数据源的连接串。 
.DetailGrid.Recordset.ConnectionString = “”; 
.DetailGrid.Recordset.ConnectionString = “”; 
.DetailGrid.Recordset.ConnectionString =  “”;; 

连接报表事件 
new 
(MyReport); 

 主报表子报表参数关联 

select * from Customers where City=:City 
4d.子报表主子关联.grf 

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


 

: 
 666666 
"Barcode1").AsBarcode.Text = "666666"; 
传值 
"StaticBox1").AsStaticBox.Text = "666666"; 

 
 
 

折线图、二维码 

) 
轴y轴名字(必选) 
图表标题(可选) 
数据序列数(有几种数据) 
数据组数(x轴数据列数目) 
轴(x轴标签、x轴刻度间隔、最小值、最大值) 
轴(y轴标签、y轴刻度间隔、最小值、最大值) 
图表数据(所有数据) 

 
建立图表,设置 
 void myreport() 
 { 
  IGRChart pChartBar = Report.ControlByName("ChartBar").AsChart; //柱形图 
  FillNormalValues(pChartBar);//填充值方法,见下 
  SetCustomGraphFillColor(pChartBar);//颜色方法,参见chart例子,用处不大 

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

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

  IGRChart pChartScatterLine = 
"ChartScatterLine").AsChart; //折线图 
  FillXYValues2(pChartScatterLine); 
 } 

向柱图、叠加柱图、连线图与饼图提供数据 
 protected static void FillNormalValues(IGRChart pChart) 
 { 
//数据序列数(有几种数据) 
//数据组数(x轴数据列数目) 
//pChart.XAxisMinimum = 0; 
//pChart.XAxisMaximum = 60; 
//pChart.XAxisSpace = 15; 

  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, "四"); 

  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_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(2, 0, 800); 
  pChart.set_Value(2, 1, 1000); 
  pChart.set_Value(2, 2, 700); 
  pChart.set_Value(2, 3, 500); 
 } 

下面方法以随机数填充折线图,折线图采用下面的思路,双for循环读取数据库或者参数生成图表 
提供散点连线图的数据,产生随机坐标点数据,保持X值是递增的,并自定义XY轴刻度位置与显示
 
 protected static void FillXYValues2(IGRChart pChart) 
 { 
  Random MyRandom = new Random(); 

  pChart.EmptyXYValue(); 
  for (short i=0; i<pChart.SeriesCount; ++i) 
  { 
   double x = 0; 
   int DataCount = MyRandom.Next(30); 
   for (short j=0; j<DataCount; ++j) 
   { 
    x += MyRandom.NextDouble() * 10; 
    double y = MyRandom.NextDouble() * 300; 
    pChart.AddXYValue(i, x, y); 
   } 
  } 

  //设置纵坐标刻度文字 
  pChart.EmptyYAxisText(); 
  pChart.AddYAxisText(0, "0"); 
  pChart.AddYAxisText(50, "50"); 
  pChart.AddYAxisText(100, "100"); 
  pChart.AddYAxisText(200, "200"); 
  pChart.AddYAxisText(300, "300"); 
  pChart.AddYAxisText(400, "400"); 

  //设置横坐标刻度文字 
  pChart.EmptyXAxisText(); 
  pChart.AddXAxisText(0, "0"); 
  pChart.AddXAxisText(10, "10"); 
  pChart.AddXAxisText(30, "30"); 
  pChart.AddXAxisText(40, "40"); 
  pChart.AddXAxisText(60, "60"); 
  pChart.AddXAxisText(80, "80"); 
  pChart.AddXAxisText(100, "100"); 
 } 


 

发布了134 篇原创文章 · 获赞 13 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_36074218/article/details/105047969
今日推荐