找回密码
 立即注册

QQ登录

只需一步,快速开始

bpic
金牌服务用户   /  发表于:2017-10-20 14:23  /   查看:3329  /  回复:7
之前做的报表打印,现在发现不能用了,  提示对象为空,不清除是哪里问题,调用代码如下,帮我看一看,

     private void tsbPrint_Click(object sender, EventArgs e)
        {
            string strID = "ABC";
            
            int[] i={1,2};
            DataTable dt = operMM.GetDataSetPartPrint(strID).Tables[0];
            C1Report rt = new C1Report();
            //c1RibbonPreview1.Document = rt=  CreateReport(dt);
            rt = CreateReport(dt);
            PrinterSettings pSet = new PrinterSettings();
            pSet.DefaultPageSettings.Landscape = true;//横向打印
            //rt.Layout.Orientation = OrientationEnum.Landscape;//横向打印
            //pSet.DefaultPageSettings.Landscape = false;//纵向打印
            //rt.Layout.Orientation = OrientationEnum.Portrait;//纵向打印
           // rt.RenderToFile("d:\\GoodsTitle.pdf", FileFormatEnum.PDF);//打印到pdf
            //rt.PrintDialog(pSet, i, true);  //出现打印窗体
            //rt.Print(pSet);  //直接打印
            c1PrintPreviewDialog1.Document=rt;
            c1PrintPreviewDialog1.ShowDialog();
//           C1.Win.C1Preview.C1PrintPreviewDialog pd = new C1.Win.C1Preview.C1PrintPreviewDialog();
//            pd.PrintPreviewControl.ToolBars.File.PrintLayout.Visible = true;
//            pd.PrintPreviewControl.ToolBars.File.PrintLayout.Enabled = true;
//......
//            pd.Document = _c1r;
//            pd.ShowDialog();
        }

        internal virtual C1Report CreateReport(object t)
        {
            try
            {
                C1Report _c1r = new C1Report();
                //加载报表
                //string[] files = Directory.GetFiles(@"..\..\ReportsC1", "*.xml");
                //Application.StartupPath
                string[] files = Directory.GetFiles(Application.StartupPath+@"\ReportsC1", "*.xml");
                string _file = files[0];
                _c1r.Load(_file, "Goods");

                //给明细数据赋值
                _c1r.DataSource.Recordset = t;
                //报表是否分页(网格线)
                //   if (_ps.IsPaged == 1)
                //    _c1r.RecordsPerPage = _ps.PageSize;
                //页面设置
                Layout _layout = _c1r.Layout;
                _layout.PaperSize = (System.Drawing.Printing.PaperKind)0;
                //自定义纸张时,纸张的大小
                //if (_layout.PaperSize == System.Drawing.Printing.PaperKind.Custom)
                //{
                // _layout.CustomWidth = 12237;
                // _layout.CustomHeight = 6969;
                //}
                _layout.Orientation = (OrientationEnum)1;
                //页边距
                _layout.MarginTop = 0;
                _layout.MarginBottom = 0;
                _layout.MarginLeft = 0;
                _layout.MarginRight = 0;
                return _c1r;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return null;
            }
        }



另外,新建一个新项目新窗体,拖放一个C1PrintPreviewControl和C1PrintPreviewDialog都出现类似的错误,不知道是什么原因,是产品安装有问题还是没有授权呀



本帖子中包含更多资源

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

x

7 个回复

倒序浏览
bpic
金牌服务用户   /  发表于:2017-10-20 14:27:28
沙发
我之前看到一个打印预览上有导出Excel/PDF的按钮,是使用哪个控件?目前用的这个没有,只能打印,不能导出,
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-10-20 14:47:35
板凳
bpic 发表于 2017-10-20 14:27
我之前看到一个打印预览上有导出Excel/PDF的按钮,是使用哪个控件?目前用的这个没有,只能打印,不能导出 ...

李工,您给我提供一个简单的demo吧,我直接调查起来快。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
bpic
金牌服务用户   /  发表于:2017-10-20 17:00:40
地板
刚才新建了一个,好像也能用,后来分析是现在的程序拖动C1PrintPreviewDialog会出错引起的。
错误如下:

本帖子中包含更多资源

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

x
回复 使用道具 举报
bpic
金牌服务用户   /  发表于:2017-10-20 17:00:42
5#
刚才新建了一个,好像也能用,后来分析是现在的程序拖动C1PrintPreviewDialog会出错引起的。
错误如下:
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-10-20 17:13:23
6#
bpic 发表于 2017-10-20 17:00
刚才新建了一个,好像也能用,后来分析是现在的程序拖动C1PrintPreviewDialog会出错引起的。
错误如下:

现在项目能跑起来了吗,这个控件可能可能不是视图空间,不支持拖拽的,具体我再确认下。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
bpic
金牌服务用户   /  发表于:2017-10-20 17:23:58
7#
可能是我的系统有问题了,先不管他了
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-10-20 17:49:29
8#
bpic 发表于 2017-10-20 17:23
可能是我的系统有问题了,先不管他了

我还是确认下,给你一个回复,你也好放心。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部