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的,其他大小的不合格。
上面是我的代码,请各位大哥大姐帮忙,我所能回报的只有一点分数了。
如果还不行,那要到打印机的打印首选项中进行设置。