| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1921 人关注过本帖
标题:C# 报表错,不知道怎么改
只看楼主 加入收藏
lukebc
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:74
专家分:32
注 册:2009-8-18
结帖率:71.43%
收藏
 问题点数:0 回复次数:1 
C# 报表错,不知道怎么改
using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApplication9
{
    public partial class Form4 : Form
    {
        String drawString = "";
        Font drawFont = null;
        SolidBrush drawBrush = null;
        float x = 0F;
        float y = 0F;
        StringFormat drawFormat = new StringFormat();

        string test = "";

        public string Test
        {
            get { return test; }
            set { test = value; }
        }

        public Form4()
        {
            InitializeComponent();

            PaperSize paperSize = new PaperSize("DataOrder", 1023, 614);  //有错, PaperSize缺少using引用
            printDocument1.DefaultPageSettings.PaperSize = paperSize;    //有错
            
            
  
        }
 private void button3_Click(object sender, EventArgs e)
        {
            printDocument1.PrintPage += new PrintPageEventHandler(MyPrintDoc_PrintPage);   这行有错
            try
            {
                printPreviewDialog1.Document = printDocument1;
                printPreviewDialog1.FormBorderStyle = FormBorderStyle.Fixed3D;
                printPreviewDialog1.ShowDialog();
                printDocument1.Print();
            }
            catch
            {

                MessageBox.Show("请安装打印机", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }


        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {

            //字体 颜色 格式 坐标
    drawFont = new Font("Arial", 8);
     drawBrush = new SolidBrush(Color.Black);
     x = 0F;
     y = 0F;
     drawFormat.FormatFlags = StringFormatFlags.NoWrap;

    //块数
    int num = 6;
     float weightAll = 12.600F;
     //标题
    //标题第一行
    string title = "钢板入库计量单";
     string BillCode = "吊号:" + "20080505170";
     string ClassType = "班别:" + "乙";
     string type1 = "类型:" + "定轧";
     string OrderNum = "记录单号:" + "QW-Y14-02-06";
     //标题第二行
    string ArriveStation = "到站:";
     string SpLine = "专用线:";
     string SaleNo = "销售订单号:";
     //标题第三行
    string AcceptName = "收货单位:" + "XXXX/12*2438*9144收二支";
     string time = DateTime.Now.Year.ToString() + "年" + DateTime.Now.Month.ToString().PadLeft(2,'0')+"月"+DateTime.Now.Day.ToString()+"日";
     //表格下数据
    string BoardNum = "合计:" + num.ToString() + "         " + weightAll.ToString()+"      ";
     string CheckMan1 = "检查员:" + "";
     string MeName = "计量员:"+"XX";
     string CheckMan2 = "核对员:" + "";
     //线条长度
    Pen line = new Pen(drawBrush, 1);
     //绘图--字的位置
    //绘图--总标题
    e.Graphics.DrawString(title, drawFont, drawBrush, 400, 45, drawFormat);
     //绘图--标题--第一行
    //吊号
    e.Graphics.DrawString(BillCode, drawFont, drawBrush, 125,83, drawFormat);
     //班别
    e.Graphics.DrawString(ClassType, drawFont, drawBrush, 354, 83, drawFormat);
     //类型
    e.Graphics.DrawString(type1, drawFont, drawBrush, 500, 83, drawFormat);
     //记录单号
    e.Graphics.DrawString(OrderNum, drawFont, drawBrush, 685, 83, drawFormat);

    //绘图--标题--第二行
    //到站
    e.Graphics.DrawString(ArriveStation, drawFont, drawBrush, 125, 106, drawFormat);
     //专用线
    e.Graphics.DrawString(SpLine, drawFont, drawBrush, 354, 106, drawFormat);
     //销售订单号
    e.Graphics.DrawString(SaleNo, drawFont, drawBrush, 500, 106, drawFormat);

    //绘图--标题--第三行
    //收货单位
    e.Graphics.DrawString(AcceptName, drawFont, drawBrush, 125, 129, drawFormat);
     //时间
    e.Graphics.DrawString(time, drawFont, drawBrush, 685, 129, drawFormat);


     //绘图--表格下数据
    //合计
    e.Graphics.DrawString(BoardNum, drawFont, drawBrush, 125, 568, drawFormat);
     //检查员
    e.Graphics.DrawString(CheckMan1, drawFont, drawBrush, 400, 568, drawFormat);
     //计量员
    e.Graphics.DrawString(MeName, drawFont, drawBrush, 550, 568, drawFormat);
     //核对员
    e.Graphics.DrawString(CheckMan2, drawFont, drawBrush, 700, 568, drawFormat);

    //绘图 表格
    float leftbianJu = 120;
     float topbianJu = 152;
     float tableWidth = 770;
     float tableHeight = 393;

    float cellwidth = 55;
     float cellwidth1 = 110;
     float cellheigh = 0F;

    //绘图--线的位置 外边矩形
    //横
    e.Graphics.DrawLine(line, leftbianJu, topbianJu,leftbianJu+tableWidth,topbianJu);
     e.Graphics.DrawLine(line, leftbianJu, topbianJu + tableHeight, leftbianJu + tableWidth, topbianJu + tableHeight);
     //竖
    e.Graphics.DrawLine(line, leftbianJu, topbianJu, leftbianJu, topbianJu+tableHeight);
     e.Graphics.DrawLine(line, leftbianJu + tableWidth, topbianJu, leftbianJu + tableWidth, topbianJu + tableHeight);
     //e.Graphics.DrawLine(line, 15, 0, 15, 614);

    //绘图--内部竖线的位置
    y = topbianJu+tableHeight;
     x = leftbianJu + cellwidth;
     e.Graphics.DrawLine(line, x, topbianJu, x,y );
     x= leftbianJu + cellwidth + cellwidth1;
     e.Graphics.DrawLine(line,x , topbianJu, x, y);
     x = leftbianJu + cellwidth + cellwidth1 * 2;
     e.Graphics.DrawLine(line, x, topbianJu, x, y);
     x = leftbianJu + cellwidth + cellwidth1 * 3;
     e.Graphics.DrawLine(line, x, topbianJu, x, y);
     x = leftbianJu + cellwidth * 2 + cellwidth1 * 3;
     e.Graphics.DrawLine(line, x, topbianJu, x, y);
     x = leftbianJu + cellwidth * 3 + cellwidth1 * 3;
     e.Graphics.DrawLine(line, x, topbianJu, x, y);
     x = leftbianJu + cellwidth * 4 + cellwidth1 * 3;
     e.Graphics.DrawLine(line, x, topbianJu, x, y);
     x = leftbianJu + cellwidth * 5 + cellwidth1 * 3;
     e.Graphics.DrawLine(line, x, topbianJu, x, y);
     x = leftbianJu + cellwidth * 6 + cellwidth1 * 3;
     e.Graphics.DrawLine(line, x, topbianJu, x, y);
     x = leftbianJu + cellwidth * 7 + cellwidth1 * 3;
     e.Graphics.DrawLine(line, x, topbianJu, x, y);

    //绘图--内部横线的位置
    //根据块数计算表格高度
    if (num != 0)
  cellheigh = tableHeight / (float)num;
     else
  cellheigh = 0;
     //绘图--内部横线的位置
    for (int i = 1; i < num; i++)
     {
  if (i == 1)
  {
      //数据
     string str = "";
      str = "序号";
      x = leftbianJu + cellwidth / 5;
      y = topbianJu + cellheigh / 3;
      e.Graphics.DrawString(str, drawFont, drawBrush, x, y, drawFormat);
      str = "卡片编号";
      x = leftbianJu + cellwidth + cellwidth1 / 5;
      e.Graphics.DrawString(str, drawFont, drawBrush, x, y, drawFormat);

     str = "炉号";
      x = leftbianJu + cellwidth + cellwidth1 + cellwidth1 / 5;
      e.Graphics.DrawString(str, drawFont, drawBrush, x, y, drawFormat);

     str = "物料编码";
      x = leftbianJu + cellwidth + cellwidth1*2 + cellwidth1 / 5;
      e.Graphics.DrawString(str, drawFont, drawBrush, x, y, drawFormat);

     str = "牌号";
      x = leftbianJu + cellwidth + cellwidth1*3 + cellwidth / 5;
      e.Graphics.DrawString(str, drawFont, drawBrush, x, y, drawFormat);

     str = "厚度";
      x = leftbianJu + cellwidth * 2 + cellwidth1 * 3 + cellwidth / 5;
      e.Graphics.DrawString(str, drawFont, drawBrush, x, y, drawFormat);

     str = "宽度";
      x = leftbianJu + cellwidth * 3 + cellwidth1 * 3 + cellwidth / 5;
      e.Graphics.DrawString(str, drawFont, drawBrush, x, y, drawFormat);

     str = "长度";
      x = leftbianJu + cellwidth * 4 + cellwidth1 * 3 + cellwidth / 5;
      e.Graphics.DrawString(str, drawFont, drawBrush, x, y, drawFormat);

     str = "重量";
      x = leftbianJu + cellwidth * 5 + cellwidth1 * 3 + cellwidth / 5;
      e.Graphics.DrawString(str, drawFont, drawBrush, x, y, drawFormat);

     str = "级别";
      x = leftbianJu + cellwidth * 6 + cellwidth1 * 3 + cellwidth / 5;
      e.Graphics.DrawString(str, drawFont, drawBrush, x, y, drawFormat);

     str = "偏差";
      x = leftbianJu + cellwidth * 7 + cellwidth1 * 3 + cellwidth / 5;
      e.Graphics.DrawString(str, drawFont, drawBrush, x, y, drawFormat);
  }
  //横线
 y = topbianJu + cellheigh * i;
  e.Graphics.DrawLine(line, leftbianJu, y, leftbianJu + tableWidth, y);
     }
     e.HasMorePages = false;

        

      
    }
    }
    }

我不知道这些错怎么改,希望高手帮忙,谢谢
搜索更多相关主题的帖子: public null 
2016-09-13 16:16
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
收藏
得分:0 
1、 PaperSize paperSize = new PaperSize("DataOrder", 1023, 614);  //有错, PaperSize缺少using引用
    printDocument1.DefaultPageSettings.PaperSize = paperSize;    //有错
    文件顶上添加using System.Drawing.Printing;

2、 printDocument1.PrintPage += new PrintPageEventHandler(MyPrintDoc_PrintPage);   这行有错
    添加如下方法
    private void MyPrintDoc_PrintPage(object obj, PrintPageEventArgs e)
    {
    }
    看起来你并没有用到这个方法,所以printDocument1.PrintPage += new PrintPageEventHandler(MyPrintDoc_PrintPage)这句可以注释
2016-09-13 21:38
快速回复:C# 报表错,不知道怎么改
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025470 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved