using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
namespace PRINTBOXLIST
{
    public partial class PrintBOXLIST : Form
    {
        public PrintBOXLIST(Hashtable HS)
        {
            InitializeComponent();
            ReportDocument rpd = new ReportDocument();
            //rpd.Load(Application.StartupPath + @"MES\CrystalReport1.rpt");//MES Client下的路径
            rpd.Load(@"G:\C# Program\C38_BOXLIST\cSFC1224BOXLIST\cSFC1224BOXLIST\CrystalReport1.rpt");
            ParameterFields paramFields = new ParameterFields();
            ParameterField paramField1 = new ParameterField();
            ParameterField paramField2 = new ParameterField();
            ParameterDiscreteValue discreteVal1 = new ParameterDiscreteValue();
            ParameterDiscreteValue discreteVal2 = new ParameterDiscreteValue();
            //第一个参数是具有多个值的离散参数。设置参数字段的名称,它必须和报表中的参数相符。   
            paramField1.ParameterFieldName = "SN";
            paramField2.ParameterFieldName = "SSN";
            //设置离散值并将其传递给该参数。
            discreteVal1.Value = HS["SN"].ToString();
            discreteVal2.Value = HS["SSN"].ToString();
            paramField1.CurrentValues.Add(discreteVal1);
            paramField2.CurrentValues.Add(discreteVal2);
            // 将该参数添加到参数字段集合。
            paramFields.Add(paramField1);
            paramFields.Add(paramField2);
            //将参数字段集合放入查看器控件。   
            crystalReportViewer1.ParameterFieldInfo = paramFields;
            //CrystalReport11.PrintOptions.PaperSize = PaperSize.PaperB5;
            rpd.PrintOptions.PaperSize = PaperSize.PaperB5;
            crystalReportViewer1.PrintReport();   
        }
    }
}我的代码设定了B5纸,可是打印出来不正确啊,成了Letter类型的了,右边有空白的,太大了。
我们工业打印的装箱单是B5的,其他大小的不合格。
上面是我的代码,请各位大哥大姐帮忙,我所能回报的只有一点分数了。

解决方案 »

  1.   

    在水晶报表上点右键,选择[设计]——》[打印机设置],可以选一种B5。
    如果还不行,那要到打印机的打印首选项中进行设置。
      

  2.   

    身体健康 万事如意 平安幸福
      

  3.   

    有点怪...那将水晶报表的页面设置调整为:左边距0,右边距0
      

  4.   

    如果你测试能行的话,就是调制打印机里的打印首选项那里,如果还是不行的基本就是代码问题了
      

  5.   

    ````飘过````祝大家圣诞快乐!