基本信息
源码名称:C# 快递单打印 例子源码
源码大小:3.29M
文件格式:.zip
开发语言:C#
更新时间:2016-09-06
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
数据库为 sql server 2008 r2, 附加数据库后 需要将web.config 中的 连接串改为自己的

using 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 Grass.Lib.Dal.Wmsys_Order;
using Grass.Lib.Enum;
using Grass.Lib.Model.Wmsys_Order;
using Grass.Lib.Rules;
using Grass.Lib.Extension;

namespace AppGenCode.ExpressPrinter
{
  public partial class FrmTemplatePrint : Form
  {
    public FrmTemplatePrint()
    {
      InitializeComponent();
      InitFrm();
    }

    #region 变量
    private TemplateEditPanel m_panel = null;
    private Grass.Lib.Enum.Operation.OperationEnum m_operation = Operation.OperationEnum.Print;
    private Print_Template m_template = null;
    private List<Print_ItemList> m_items = null;
    private AppGenCode.ExpressPrinter.PrintDoc.ExpressPrinter m_expressPrinter = null;
    #endregion

    private void InitFrm()
    {
      m_panel = new TemplateEditPanel();
      m_panel.Location = new Point(0, 0);
      m_panel.Dock = DockStyle.None;
      m_panel.Operation = m_operation; //定义操作类型,用于保存或更新
      this.splitContainer1.Panel1.Controls.Add(m_panel);
      this.cboxPrintReview.Checked = true;
      InitTree();
    }

    private void InitTree()
    {
      this.treeTemplate.Nodes.Clear();
      Grass.Lib.Rules.TemplateMgr mgr = new TemplateMgr();
      List<Print_Template> list = mgr.GetTemplates();

      if (list == null)
        return;

      TreeNode rootNode, subNode;
      rootNode = new TreeNode("所有可用模板");

      list.ForEach(o =>
      {
        subNode = new TreeNode(o.TemplateName);
        subNode.Tag = o;
        subNode.ToolTipText = o.TemplateName;
        rootNode.Nodes.Add(subNode);
      });
      this.treeTemplate.Nodes.Add(rootNode);
      this.treeTemplate.ExpandAll();
    }

    private void treeTemplate_Click(object sender, EventArgs e)
    {

    }

    private void treeTemplate_DoubleClick(object sender, EventArgs e)
    {
      m_template = this.treeTemplate.SelectedNode.Tag as Print_Template;
      if (m_template == null)
      {
        MessageBox.Show("模板无效", "提示");
        return;
      }
      m_panel.Controls.Clear();
      Print_ItemListDal dal = new Print_ItemListDal();
      m_items = dal.GetListByCondition(string.Format("TemplateId = '{0}'", m_template.TemplateId));
      m_panel.InitCtrl(m_template, m_items);
    }
    /// <summary>
    /// 设置打印项内容
    /// </summary>
    private void PrintBefort()
    {
      List<Print_ItemList> list =  m_panel.GetPrintItemList();
      list.ForEach(o =>
        {
          var item = m_items.FirstOrDefault(i => i.ItemId == o.ItemId);
          item.Text = o.Text;
        });
      m_expressPrinter = new PrintDoc.ExpressPrinter(null,m_template,m_items);
    }

    private void menuPrint_Click(object sender, EventArgs e)
    {
      if (m_template.IsNullOrDbNull() || m_items.IsNullOrDbNull())
      {
        MessageBox.Show("请选择打印模板并填写打印内容!", "提示");
        return;
      }
      PrintBefort();
      if (this.cboxPrintReview.Checked)
        m_expressPrinter.PrintProview();
      else
        m_expressPrinter.PrintOut();
    }
  }
}