1

我拥有的网格视图被一些选项过滤,然后它将被传递给一个名为“Stimulsoft”的打印程序,但是当过滤器被激活时,过滤后的记录不会显示在打印页面中。代码如下所示:

        StiReport report = new StiReport();
        tbldoreTableAdapter.Fill(doredataset.tbldore);
        tbl_masolTableAdapter.Fill(doredataset.tbl_masol);
        report.Load("Report.mrt");
        report.RegData("DataSourc1", radGridView1.DataSource);
        report.RegData(doredataset.tbldore);
        report.RegData(doredataset.tbl_masol);

        report.Show();

我需要将过滤后的记录显示在打印页面中。

4

1 回答 1

1

在加载报告之前,您需要将查询传递给报告。

首先,在您的报告中定义一个变量(例如 var1)并更改您的数据集 sql 命令,如下所示:

select * from mytable {var1}

然后在您的代码中像这样传递它:

StiReport1.Dictionary.Variables("Var1").Value = " where field1 = '" + TextBoxX1.Text + "'";
StiReport1.Compile();
StiReport1.Render();
StiReport1.Show();

PS:将您的报告加载到“StiReport”对象中。

于 2019-07-03T19:43:47.333 回答