现在的位置: 首页 > 综合 > 正文

VS2010rdlc报表—根据查询条件产生报表

2012年03月23日 ⁄ 综合 ⁄ 共 1436字 ⁄ 字号 评论关闭

这段时间看了一下VS2010rdlc报表,供大家参考一下。运行结果为下图

form中的两个textbox是设定RIGHT LEVEL范围 程序根据这两个textbox的值产生报表

赶快记录下来

1. 首先建立一个工程文件

2. 创建完成后就将ReportViewer拉到form中如下图所示

3. 再给form中建立一个textboxbotton  作为后续添加条件用

4. 建立一个新的报表 在ReportViewer控件右上角点击 如下图所示 选择“设计新报表”

5. 自动弹出让你建立数据源配置向导,这里我是用DBMAKER作为数据源,配置好数据源会出现下图供选择数据表

6. 选择其中一个表USER进行操作然后按照提示就好。

7. 数据源配置和资料表也配置好了就该进行重要的一步,选择报表 !在ReportViewer的右上角点击“小三角” 选择刚才配置好的报表。

到这里基本就可以出报表了,可是我们的目的是加条件对数据库的内容筛选后输出报表。就要在通过下面的步骤达到目的了


选择第一个“在DataSet设计工具中编辑查询” ,然后在下图的菜单上右键选择"加入"或者"设定"(不知什么原因我的电脑在接下来容易卡退)添加查询语句如下图所示


SQL语句中的?和不同的数据库有关系我采用DBMAKER 而SQLServer用”@控件“ ,然后按照提示完成即可 修改好入下图所示

然后函数里有参数了。最后一步修改代码

private void button1_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(p1.Text.Trim()) && string.IsNullOrEmpty(p2.Text.Trim()))
            {
                this.USERTableAdapter.Fill(this.DataSet1.USER);//这是不含参数的方法
                this.reportViewer1.RefreshReport();
            }
            else if(!string.IsNullOrEmpty(p1.Text.Trim()) && string.IsNullOrEmpty(p2.Text.Trim()))
            {
                // TODO: 這行程式碼會將資料載入 'DataSet1.USER' 資料表。您可以視需要進行移動或移除。
                this.USERTableAdapter.FillBy(this.DataSet1.USER, int.Parse(p1.Text.Trim()));
                this.reportViewer1.RefreshReport();//这里为含参数的方法 一个参数
            }
            else if (!string.IsNullOrEmpty(p1.Text.Trim()) && !string.IsNullOrEmpty(p2.Text.Trim()))
            {
                this.USERTableAdapter.FillBy2(this.DataSet1.USER, int.Parse(p1.Text.Trim()), int.Parse(p2.Text.Trim()));
                this.reportViewer1.RefreshReport();//这里为含参数的方法 两个参数
            }
            else
            { }
        }

抱歉!评论已关闭.