这段时间看了一下VS2010rdlc报表,供大家参考一下。运行结果为下图
form中的两个textbox是设定RIGHT LEVEL范围 程序根据这两个textbox的值产生报表
赶快记录下来
1. 首先建立一个工程文件
2. 创建完成后就将ReportViewer拉到form中如下图所示
3. 再给form中建立一个textbox和botton 作为后续添加条件用
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
{ }
}