您的位置:首页 > 移动开发 > Objective-C

通用表格打印 示例

2012-10-03 20:44 155 查看
//本示例需要通用表格打印1或2,以及接口和Code128条码生成一起使用

sing System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using cyh.General;

namespace DemoTableXReport

{

    public partial class Form1 : Form

    {

        private DataSet dataSet1;

        public Form1()

        {

            InitializeComponent();

        }

        private void Form1_Load(object sender, EventArgs e)

        {

            //读入数据到dataSet

            dataSet1 = new DataSet();

            dataSet1.ReadXml(Application.StartupPath+ "\\testReport.xml", System.Data.XmlReadMode.ReadSchema);

            dataGridView1.DataSource = dataSet1;

            dataGridView1.DataMember = dataSet1.Tables[0].TableName;                       

        }

        private void button1_Click(object sender, EventArgs e)

        {

            iTableReport xtr = new ctlTableReport();

            xtr.AddReportTitle("测试上1(center)", true, null, StringAlignment.Center, Size.Empty);

            xtr.AddReportTitle("测试上2(far)", true, null, StringAlignment.Far, Size.Empty);

            xtr.AddReportTitle("测试下1(center)", false, null, StringAlignment.Center, Size.Empty);

            xtr.AddReportTitle("测试下2(near){0}", false);

            xtr.AddReportField("编   号", null, "药品目录", StringAlignment.Near, null, false, string.Empty, true, string.Empty, Size.Empty);

            xtr.AddReportField("名        称", "名称");

            xtr.AddReportField("规      格2", null, "规格", StringAlignment.Near, null, false, "合计", false, string.Empty, Size.Empty);

            xtr.AddReportField("零   售    价3", null, "零售价", StringAlignment.Far, null, false, "", true, "{0:#0.00}", Size.Empty);

            xtr.SetReportBarCode("A202010", new Point(100, 0), new Size(500, 100), true, string.Empty);

            //int r = xtr.GetAutoRow(dataSet1.Tables[0].Rows.Count, 40);

            //xtr.SetReportMain(100, r, ReportGridLine.Nothing, StringAlignment.Center, false, new System.Drawing.Printing.Margins(80, 80, 100, 80), System.Drawing.Printing.PaperKind.Custom, Size.Empty, 1, 0, "", true, 1);

            xtr.SetReportMain(100, 20, ReportGridLine.Nothing, StringAlignment.Center, false, new System.Drawing.Printing.Margins(80, 80, 100, 80), System.Drawing.Printing.PaperKind.Custom, Size.Empty, 1, 0, "", false , 1);           

            xtr.UnitAfterPrint += new ReportUnitAfterPrint(xtr_UnitAfterPrint);

            xtr.DataSource = dataSet1.Tables[0];           

            xtr.ShowDialog();    

        }

        void xtr_UnitAfterPrint(object sender, ReportBandType source, int PageIndex, int RowIndex, string Caption, string Field, ref string Value, EventArgs e)

        {

            //if (source == ReportBandType.PageFooder)

            //   Value = string.Format("{0}",PageIndex+1);

            //throw new NotImplementedException();

        }

        void xtr_UnitAfterPrint(object sender, int source, int PageIndex, int RowIndex, string Caption, string Field, ref string Value, EventArgs e)

        {

            //在此可以校正打印的内容和格式

        }

      

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息