彩票走势图

在ActiveReports报表查看器中增加参数下拉框

原创|使用教程|编辑:郝浩|2013-07-31 12:01:10.000|阅读 241 次

概述:ActiveReports允许开发者在过滤器中使用参数,也允许开发者在运行时添加显示数据到报表的。固可实现在报表运行过程中,最终用户通过参数来改变报表输出内容的需求。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  报表开发工具ActiveReports允许开发者在过滤器中使用参数,也允许开发者在运行时添加显示数据到报表的。所以ActiveReports可以实现在报表运行过程中,最终用户通过参数来改变报表输出内容的需求。

  最常见的需求场景是,经理使用报表查看器查看销售报表时,需要分地区查看销售业绩,这时候就需要在查看器上添加一个下拉菜单作为过滤器来实现这一需求了。如下图所示:

在ActiveReports报表查看器中增加参数下拉框

  首先,需要在ActiveReports的Viewer窗体中添加一个Combobox,并将参数值填入其中。需要使用SQL查询中的UNIQUE语句将数据集的值填入,示例代码如下:

private void Form1_Load(object sender, EventArgs e)
{
   DataSet ds = new DataSet();
   System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\STDUser\My Documents\ComponentOne Samples\ActiveReports Developer 7\Data\NWIND.mdb;Persist Security Info=False");
   System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand("select distinct country from customers", con);
   con.Open();
   System.Data.OleDb.OleDbDataAdapter _da = new System.Data.OleDb.OleDbDataAdapter(command);
   _da.Fill(ds);
   comboBox1.ValueMember = "Country";
   comboBox1.DataSource = ds.Tables[0];
   con.Close();
}

  在为下拉框添加了参数值后,需要将下拉框选择的参数传到报表中,使用组合框的SelectedIndexChanged事件:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
   SectionReport1 rpt = new SectionReport1();
   GrapeCity.ActiveReports.Data.OleDBDataSource _oDS = new GrapeCity.ActiveReports.Data.OleDBDataSource();
_oDS.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\STDUser\My Documents\ComponentOne Samples\ActiveReports Developer 7\Data\NWIND.mdb;Persist Security Info=False";
   _oDS.SQL = "Select * from customers where country='" + this.comboBox1.SelectedValue + "'";
   rpt.DataSource = _oDS;
   rpt.Run();
   viewer1.LoadDocument(rpt);
}

  接下来就只需要执行ActiveReports的报表查看器就行了。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP