找回密码
 立即注册

QQ登录

只需一步,快速开始

豆芽菜菜菜豆芽

注册会员

3

主题

5

帖子

105

积分

注册会员

积分
105
最新发帖
豆芽菜菜菜豆芽
注册会员   /  发表于:2020-7-9 17:01  /   查看:3174  /  回复:3
10金币
本帖最后由 豆芽菜菜菜豆芽 于 2020-7-9 17:16 编辑

关于套打,我知道怎么打印一个,预览的时候也只出现一个,但是我希望能够选择多条数据的时候,批量套打多条记录,也就是一条记录是一个页面。这个怎么实现啊下面是我的前端方法。

$(function () {
    var reportId = request('reportId');
    reportId = decodeURI(reportId);
    var viewer = GrapeCity.ActiveReports.Viewer(
        {
            element: '#viewerContainer',
            report: {
                id: 'Modules/ActiveReports/HCtotalbyCategory.rdlx?id='11111'',
            },
            reportService: {
                url: '/ActiveReports.ReportService.asmx'
            },
            uiType: 'desktop'
        });
});


后台是这样

protected override object OnCreateReportHandler(string id)
        {
            string[] report = reportPath.Split('|');
            if (report.Length > 1)
            {
                reportPath = report[0];
                id = report[1];
            }
            definition1 = (PageReport)base.OnCreateReportHandler(reportPath);
            _pageDocument = new PageDocument(definition1);

                definition1.Document.LocateDataSource += new LocateDataSourceEventHandler(DataSource1);

            return definition1;
        }
        private void DataSource1(object sender, LocateDataSourceEventArgs args)
        {

            if (args.DataSet.Query.DataSourceName == "DataSource1")
            {
                if (args.DataSet.Name == "DataSet1")
                {

                    args.Data = GetDataSource(id);
                }

            }

        }


private DataTable GetDataSource(int id)
        {
            string connStr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};", Server.MapPath("/NWind_CHS.mdb"));
            string productSql = string.Format("SELECT * From 入库单 where 入库单ID = '" + id + "' order by ID ");
            DataLayer dl = new DataLayer(connStr, productSql);
            return dl.DataSetData.Tables["Products"];
        }


这样只能获得一个,我想要打印多张怎么改,求教

最佳答案

查看完整内容

使用页面报表,然后根据那个唯一值字段进行一个分组,然后你选择多少行数据就会自动展示多少页,打印的时候就可以进行批量打印

3 个回复

倒序浏览
最佳答案
最佳答案
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-7-9 17:01:13
来自 2#
使用页面报表,然后根据那个唯一值字段进行一个分组,然后你选择多少行数据就会自动展示多少页,打印的时候就可以进行批量打印

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
豆芽菜菜菜豆芽
注册会员   /  发表于:2020-7-9 18:42:21
3#
KearneyKang 发表于 2020-7-9 17:01
使用页面报表,然后根据那个唯一值字段进行一个分组,然后你选择多少行数据就会自动展示多少页,打印的时候 ...

谢谢,成功了
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-7-10 09:18:31
4#
好的,问题解决了就好
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部