一、打印效果

二、代码编辑

1 、table1 : table控件的Name;

2、label33 :label控件 实现绑定【外部平台单号】的控件;

3、label32:绑定【E店宝订单编号】(S开头的单号);

不同模板请以对应的控件Name属性值类 来替换以上3个值(table1,label33,label32)

    string tid = label32.Text;//绑定E店宝【订单编号】(S开头的单号);
    string OutTid = label33.Text;//绑定E店宝【外部平台单号】    

    //获取报表对应的数据集DataSet;
    System.Data.DataSet ds=detailBand1.Report.DataSource as System.Data.DataSet;
    //如果获取到了DataSet,并且Table数据是1个以上,则取索引是第1个的Table,此Table定义为是明细数据。
    )
    {
        System.Data.DataTable dt=ds.Tables[];
        //循环读取Table中的每一个数据行形成明细的拼接字符串。
        System.Data.DataView dv = dt.DefaultView;
        dv.Sort = "报价总金额 DESC , 条形码 ASC ";  //排序
        System.Data.DataTable dt2 = dv.ToTable();
        table1.Rows.Clear();
        /***************************外部平台单号*********************************/
        XRTableRow xrRowOutTid = new XRTableRow();
        XRTableCell xrRowOutTidTile = new XRTableCell();
        XRTableCell xrRowOutTidValue = new XRTableCell();
        xrRowOutTidTile.Width =  ;
        xrRowOutTidValue.Width =  ;
        //--------------------------------------------
        xrRowOutTidTile.CanGrow = true;
        xrRowOutTidTile.CanShrink = false;
        xrRowOutTidTile.Font = new System.Drawing.Font("微软雅黑", 8F, System.Drawing.FontStyle.Bold);
        xrRowOutTidTile.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
        //--------------------------------------------
        xrRowOutTidValue.CanGrow = true;
        xrRowOutTidValue.CanShrink = false;
        xrRowOutTidValue.Font = new System.Drawing.Font("微软雅黑", 8F, System.Drawing.FontStyle.Bold);
        xrRowOutTidValue.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
        //--------------------------------------------
        xrRowOutTidTile.Text = "订单号";
        xrRowOutTidValue.Text =OutTid;//外部平台单号
        //--------------------------------------------
        xrRowOutTid.Cells.Add(xrRowOutTidTile);
        xrRowOutTid.Cells.Add(xrRowOutTidValue);
        table1.Rows.Add(xrRowOutTid);
       /***************************发货单号*********************************/
        XRTableRow xrRowTid = new XRTableRow();
        XRTableCell xrRowTidTitle = new XRTableCell();
        XRTableCell xrRowTidValue = new XRTableCell();
        xrRowTidTitle.Width =  ;
        xrRowTidValue.Width =  ;
        //--------------------------------------------
        xrRowTidTitle.CanGrow = true;
        xrRowTidTitle.CanShrink = false;
        xrRowTidTitle.Font = new System.Drawing.Font("微软雅黑", 8F, System.Drawing.FontStyle.Bold);
        xrRowTidTitle.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
        //--------------------------------------------
        xrRowTidValue.CanGrow = true;
        xrRowTidValue.CanShrink = false;
        xrRowTidValue.Font = new System.Drawing.Font("微软雅黑", 8F, System.Drawing.FontStyle.Bold);
        xrRowTidValue.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
        //--------------------------------------------
        xrRowTidTitle.Text = "发货单号";
        xrRowTidValue.Text =tid;
        //--------------------------------------------
        xrRowTid.Cells.Add(xrRowTidTitle);
        xrRowTid.Cells.Add(xrRowTidValue);
        table1.Rows.Add(xrRowTid);
        /***************************列标题*********************************/
        XRTableRow xrRowTitle = new XRTableRow();
        XRTableCell xrRowTitleName = new XRTableCell();//产品名称
        XRTableCell xrRowTitleHH = new XRTableCell();//货号
        XRTableCell xrRowTitleBarCode = new XRTableCell();//"条码"
        XRTableCell xrRowTitleNum = new XRTableCell();//"数量"
        //-----------------------------
        xrRowTitleBarCode .CanGrow = true;
        xrRowTitleBarCode .CanShrink = false;
        xrRowTitleBarCode .Font = new System.Drawing.Font("微软雅黑", 8F, System.Drawing.FontStyle.Bold);
        xrRowTitleBarCode .TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
        //-----------------------------
        xrRowTitleHH.CanGrow = true;
        xrRowTitleHH.CanShrink = false;
        xrRowTitleHH.Font = new System.Drawing.Font("微软雅黑", 8F, System.Drawing.FontStyle.Bold);
        xrRowTitleHH.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
        //-----------------------------
        xrRowTitleName.CanGrow = true;
        xrRowTitleName.CanShrink = false;
        xrRowTitleName.Font = new System.Drawing.Font("微软雅黑", 8F, System.Drawing.FontStyle.Bold);
        xrRowTitleName.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
        xrRowTitleHH.Width =  ;
        xrRowTitleName.Width =  ;
        xrRowTitleNum.Width =  ;
        xrRowTitleBarCode.Width =  ;
        //-----------------------------
        xrRowTitleNum.CanGrow = true;
        xrRowTitleNum.CanShrink = false;
        xrRowTitleNum.Font = new System.Drawing.Font("微软雅黑", 8F, System.Drawing.FontStyle.Bold);
        xrRowTitleNum.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
        //-----------------------------
        xrRowTitleName.Text = "产品名称";
        xrRowTitleHH.Text = "货号";
        xrRowTitleBarCode.Text = "条码";
        xrRowTitleNum.Text = "数量" ;
        //-----------------------------
        xrRowTitle.Cells.Add(xrRowTitleName);//"产品名称"
        xrRowTitle.Cells.Add(xrRowTitleHH);//"货号"
        xrRowTitle.Cells.Add(xrRowTitleBarCode); //产品条形码
        xrRowTitle.Cells.Add(xrRowTitleNum);//数量
        table1.Rows.Add(xrRowTitle);
        /***************************循环添加明细*********************************/
        ;rowIndex<dt2.Rows.Count;rowIndex++)
        {
            if (dt2.Rows[rowIndex]["订单编号"].ToString()==tid )
            {
                XRTableRow xrForRow = new XRTableRow();
                XRTableCell xrForRowSPC = new XRTableCell();//软件规格
                XRTableCell xrForRowRem = new XRTableCell();//产品备注
                XRTableCell xrForRowNum = new XRTableCell();//订货数量
                XRTableCell xrForRowBarCode = new XRTableCell();//条形码
                //--------------------------------------
                xrForRowBarCode .CanGrow = true;
                xrForRowBarCode.CanShrink = false;
                xrForRowBarCode.Font = new System.Drawing.Font("微软雅黑", 8F, System.Drawing.FontStyle.Bold);
                xrForRowBarCode.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
                //-------------------------------------
                xrForRowSPC.CanGrow = true;
                xrForRowSPC.CanShrink = false;
                xrForRowSPC.Font = new System.Drawing.Font("微软雅黑", 8F, System.Drawing.FontStyle.Bold);
                xrForRowSPC.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
                //-------------------------------------
                xrForRowRem.CanGrow = true;
                xrForRowRem.CanShrink = false;
                xrForRowRem.Font = new System.Drawing.Font("微软雅黑", 8F, System.Drawing.FontStyle.Bold);
                xrForRowRem.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
                xrForRowSPC.Width =  ;
                xrForRowRem.Width =  ;
                xrForRowNum.Width =  ;
                xrForRowBarCode.Width =  ;
                //-------------------------------------
                xrForRowNum.CanGrow = true;
                xrForRowNum.CanShrink = false;
                xrForRowNum.Font = new System.Drawing.Font("微软雅黑", 8F, System.Drawing.FontStyle.Bold);
                xrForRowNum.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
                //-------------------------------------
                xrForRowSPC.Text = dt2.Rows[rowIndex]["软件规格"].ToString();
                xrForRowRem.Text = dt2.Rows[rowIndex]["产品备注"].ToString() ;
                xrForRowNum.Text = dt2.Rows[rowIndex]["订货数量"].ToString() ;
                xrForRowBarCode.Text = dt2.Rows[rowIndex]["条形码"].ToString() ;
                //-------------------------------------
                xrForRowSPC.WordWrap = true;
                xrForRow.Cells.Add(xrForRowRem);//
                xrForRow.Cells.Add(xrForRowSPC); //软件规格
                xrForRow.Cells.Add(xrForRowBarCode); //
                xrForRow.Cells.Add(xrForRowNum);//
                //-------------------------------------
                table1.Rows.Add(xrForRow);
            }
        }
    }

三、添加行列的公共方法

        /// <summary>
        /// 替换特殊字符
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public string ReStr(string str)
        {
            return str.Replace(";", ".").Replace(",", ".").Replace(";", ".").Replace(",", ".");
        }

        /// <summary>
        /// 添加行
        /// </summary>
        /// <param name="table1">DevExpress.XtraReports.UI.XRTable 对象</param>
        /// <param name="RowsStr">格式:"文本,宽度,字体大小,字体,是否加粗,对其方式:左、右、中;";</param>

        public void TableAddRow(DevExpress.XtraReports.UI.XRTable table1, string RowsStr)
        {
            RowsStr = RowsStr.Replace(";", ";").Replace(",", ",");
            string[] Zstr = RowsStr.Split(';');
            ", 字体大小 = "8F", 字体 = "微软雅黑", 是否加粗 = "否",对其方式="左";
            XRTableRow xrRow = new XRTableRow();
            ; i < Zstr.Length; i++)
            {
                文本 = Zstr[i].Split(];
                宽度 = Zstr[i].Split(].Replace(" ", "");
                字体大小 = Zstr[i].Split(].Replace(" ", "");
                字体 = Zstr[i].Split(].Replace(" ", "");//"微软雅黑"
                是否加粗 = Zstr[i].Split(].Replace(" ","");
                对其方式 =  Zstr[i].Split(].Replace(" ","");
                //---------------------------------
                float f字体大小 = float.Parse(字体大小);
                //---------------------------------
                XRTableCell xrRowCell = new XRTableCell();
                xrRowCell.CanGrow = true;
                xrRowCell.CanShrink = false;
                xrRowCell.Width = Convert.ToInt32(宽度);
                //---------------------------------
                //---是否加粗
                System.Drawing.FontStyle fstyle = System.Drawing.FontStyle.Bold;
                if (是否加粗 == "否")
                {
                    fstyle = System.Drawing.FontStyle.Regular;
                }
                //---------------------------------
                xrRowCell.Font = new System.Drawing.Font(字体, f字体大小, fstyle);
                //---------------------------------
                //对其方式
                DevExpress.XtraPrinting.TextAlignment txtalign = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
                if (对其方式=="左")
                {
                    txtalign = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
                }
                if (对其方式 == "右")
                {
                    txtalign = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
                }
                if (对其方式 == "中")
                {
                    txtalign = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
                }
                xrRowCell.TextAlignment = txtalign;
                //-----------------------------------
                xrRowCell.Text = 文本;
                xrRow.Cells.Add(xrRowCell);//"产品名称"
            }
            table1.Rows.Add(xrRow);
        }

调用:

        /***************************外部平台单号*********************************/
        TableAddRow(table1, "订单号,160,16,微软雅黑,是,左;"+OutTid+",360,16,微软雅黑,是,左");
        /***************************发货单号*********************************/
        TableAddRow(table1, "发货单号,160,16,微软雅黑,是,左;"+tid+",360,16,微软雅黑,是,左");
            /***************************列标题*********************************/
        TableAddRow(table1,
        "产品名称,300,8,微软雅黑,是,左;"//第一列
        +"货号,160,8,微软雅黑,是,左;"//第二列
        +"条码,160,8,微软雅黑,是,左;"//第三列
        +"数量,60,8,微软雅黑,是,中"//第四列
        ); 

显示效果图:

C#打印模板设计,E店宝打印模板设置,winfrom打印模板设计,DevExpress.XtraReports.UI.XRTable 表格代码生成。的更多相关文章

  1. 生鲜配送管理系统_升鲜宝V2.0 小标签打印功能说明_15382353715

    小标签打印说明 小标签打印可以打印本系统的订单商品数量,也可以把外部的订单商品导入本系统进行打印. 打印本系统中的订单商品操作说明 1.1    界面说明 1.2     查询条件 1.2.1     ...

  2. .NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现

    原文:.NET环境下有关打印页面设置.打印机设置.打印预览对话框的实现 我个人认为,开发MIS,首先就得解决网格的问题,而开发工具为我们提供了如DataGrid.MSHFlexGrid的控件.其次,是 ...

  3. wpf 大控件 打印 将控件转成 xps格式 并分页打印

    //PayRollPrintList:要打印的 list 可换成自己要打印的类型 private List<PayRoll> _PayRollPrintList = new List< ...

  4. C# E店宝格格家接口对接

    一.实现图片 二.实现通用方法 /// <summary> /// 调用通用方法 /// </summary> /// <param name="strURL& ...

  5. PrintDocument打印、预览、打印机设置和打印属性的方法

    WindowsForm 使用 PrintDocument打印.预览.打印机设置和打印属性的方法. private void Form1_Load(object sender, System.Event ...

  6. Excel设置excel打印每页都有表头标题

    Excel设置excel打印每页都有表头标题

  7. C# winfrom打印技术初探

    最近用到了winform去打印,网上查了一些资料,大概内容: 一 .首先有几个类 PageSetupDialog . PrintDialog .PrintDocument .PrintPreviewC ...

  8. C# 中printDocument打印、预览、打印机设置和打印属性的方法

    private void Form1_Load(object sender, System.EventArgs e) { //获取或设置一个值,该值指示是否发送到文件或端口 printDocument ...

  9. PrintDocument打印、预览、打印机设置和打印属性的方法(较完整) .

    private void Form1_Load(object sender, System.EventArgs e) { //获取或设置一个值,该值指示是否发送到文件或端口 printDocument ...

随机推荐

  1. 基于Unity的AR开发初探:发布AR应用到Android平台

    本文接上一篇,介绍一下如何通过Unity发布第一个AR应用至Android平台,在Android手机上使用我们的第一个AR应用. 一.一些准备工作 1.1 准备Java JDK 这里选择的是JDK 1 ...

  2. user 不在 sudoers 文件中。此事将被报告。

    在使用sudo -i或su root命令时,被提示出“user不在 sudoers 文件中.此事将被报告”的错误信息.这是因为当前登录的账号不在sudo权限里面.sudo命令可以让你以root身份执行 ...

  3. 学习 JavaScript (八) 引用类型之 Object

    在JavaScript中,引用类型是一种数据结构.包括对象(Obejct).数组(Array).日期(Date).正则表达式(RegExp).函数(Function).基本包装类型(new Boole ...

  4. [Inside HotSpot] C1编译器优化:全局值编号(GVN)

    1. 值编号 我们知道C1内部使用的是一种图结构的HIR,它由基本块构成一个图,然后每个基本块里面是SSA形式的指令,关于这点如可以参考[Inside HotSpot] C1编译器工作流程及中间表示. ...

  5. [PHP]日志处理error_log()函数和配置使用

    1.error_log($message,$message_type,$destination,$extra_headers)函数, 2.message_type 是0,发送信息到php.ini配置的 ...

  6. 【学习笔记Part 2● MySQL】

    数据库 为什么要用数据库 如何去存放数据?生活中有各种各样的数据.比如说人的姓名.年龄.成绩等.平时我们记录这些信息都是记在大脑中.人的记忆力有限,不可能什么都记住.所以后来人们把数据记录在石头上–& ...

  7. SQL Server 2008R2 :远程调用失败 的解决方法(全部方法)

    SQL 中远程调用失败的原因 1.服务里面的启动权限未能启动,修改sql对应的服务进程权限就可以了 2.是因为VS 和SQL 起冲突了,数据库找不到访问地址导致的.解决的办法很简单,就是卸载掉多余的版 ...

  8. Storm入门(十)Twitter Storm: Transactional Topolgoy简介

    作者: xumingming | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://xumingming.sinaapp.com/736/twitter-stor ...

  9. 关于uni-app框架的学习-1

    根据官方文档进行学习Uni-APP, 再次过程中,记录一些需要熟悉的内容,有不合适的地方,见着都可知道,----我是一个小白,小白,小白 官网地址:https://uniapp.dcloud.io/ ...

  10. ASP.NET Aries 高级开发教程:Excel导入之多表高级导入配置(中)

    前言: 在面对Excel的各种复杂导入情况中,多表导入是很常见的情景. 今天就来写一下多表导入是如何配置的. 1.自定义导入模板 怎么自定义: 其实就是自己新建一个Excel了,把列头都写好. 不过有 ...