找回密码
 立即注册

QQ登录

只需一步,快速开始

阿七,

注册会员

1

主题

2

帖子

19

积分

注册会员

积分
19
最新发帖
阿七,
注册会员   /  发表于:2017-7-11 10:05  /   查看:3558  /  回复:3
点击查询之后查看报表,之后如果再次查询并且未查出结果,想把之前第一次查询出结果的报表去掉,变成跟没点击查询按钮的时候一样
以下是绑定报表的代码,查询第一次走过之后,之后想清空,不知道应该把哪个clear
            report = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo("Reports/HLWSPJS.rdlx"));
            report.Report.ReportParameters[0].DefaultValue.Values.Clear();

            // 根据画面上的检索条件,设置报表的标题内容
            report.Report.ReportParameters[0].DefaultValue.Values.Add(this.dtpKSRQ.Text + "~" + this.dtpJSRQ.Text);

            // 将取得的数据绑定到报表中
            this.vwrBB.LocateDataSource += (sdr, args) =>
            {
                if (args.DataSourceName == "HLWSPJSDataSource")
                {
                    if (args.DataSetName == "HLWSPJSDataSet")
                    {
                        args.Data = selectHlwspsjxxList;
                    }
                }
            };
            this.vwrBB.LoadDocument(report.Document);

3 个回复

倒序浏览
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-7-11 14:56:56
沙发
本帖最后由 Lenka.Guo 于 2017-7-11 18:46 编辑

您好,

您通过以下代码为参数设置默认值了,是固定不变的,参数始终有一个默认值,所以导致如果该值无法查询到结果时,仍保留上次的查询记录。
    report.Report.ReportParameters[0].DefaultValue.Values.Add(this.dtpKSRQ.Text + "~" + this.dtpJSRQ.Text);


建议您在为参数赋值之前,添加以下代码进行清空:
  1. pagereport.Report.ReportParameters[0].DefaultValue.Values.Clear();
复制代码




回复 使用道具 举报
阿七,
注册会员   /  发表于:2017-7-12 15:27:39
板凳
KearneyKang 发表于 2017-7-11 14:56
您好,

您通过以下代码为参数设置默认值了,是固定不变的,参数始终有一个默认值,所以导致如果该值无法 ...

我想问的不是怎么给参数清空,是点击查询后才加载报表嘛,我想第二次再点击查询如果没查出数据的话 就不出现报表了,这段代码是在第一次查询的时候走,在查询不出数据的时候,前面就return了,虽然第二次不走这些代码了,但是报表还是会留在win窗体里,想把整个报表去掉,就是不要看见他了
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-7-12 16:27:12
地板
您好
请问你用的是webviewer还是Html5Viewer
如果是Webviewer你试着设置这个Webviewer这个控件可见不可见
如果是Html5Viewer 你就通过用css 把div来进行隐藏
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部