例子:生成送货单

报表头都是静态文本:

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 gregn6Lib;//引用
namespace Order
{
    public partial class Form1 : Form
    {
    //Report对象
        private GridppReport Report=new GridppReport();
        public Form1()
        {
            InitializeComponent();
            Report.LoadFromFile("danju.grf");//加载文件
        }

        private void button1_Click(object sender, EventArgs e)
        {
          //加载数据
            Report.FetchRecord -=new _IGridppReportEvents_FetchRecordEventHandler(InsertTable);
            Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(InsertTable);
            Report.PrintPreview(true);
        }
        //插入数据
         private void InsertTable()
        {
            // //插入头部数据AsStaticBox静态文本
            Report.ControlByName("CompanyAddress").AsStaticBox.Text = "广州天河";
            Report.ControlByName("CompanyPhone").AsStaticBox.Text = "020-123456";
            Report.ControlByName("CustomerName").AsStaticBox.Text = "马小云";
            Report.ControlByName("CustomerAddress").AsStaticBox.Text = "杭州";
            Report.ControlByName("CompanyMan").AsStaticBox.Text = "马小腾";
            Report.ControlByName("CustomerPhone").AsStaticBox.Text = "147258369";
            Report.ControlByName("OrderNo").AsBarcode.Text = "123456789";
            Report.ControlByName("ShDate").AsStaticBox.Text = DateTime.Now.ToString("yyyy-MM-dd");
            Report.ControlByName("Creator").AsStaticBox.Text = "清歌王子";
            //插入数据明细FieldByName明细网格的字段
            IGRField NO = Report.FieldByName("NO");
            IGRField ProductName = Report.FieldByName("ProductName");
            IGRField Size = Report.FieldByName("Size");
            IGRField Dawei = Report.FieldByName("Dawei");
            IGRField Count = Report.FieldByName("Count");
            IGRField Prince = Report.FieldByName("Prince");
            IGRField Total = Report.FieldByName("Total");
            IGRField Remark = Report.FieldByName("Remark");
            DataTable dt = new DataTable();
            dt.Columns.Add("NO", typeof(string));
            dt.Columns.Add("ProductName", typeof(string));
            dt.Columns.Add("Size", typeof(string));
            dt.Columns.Add("Dawei", typeof(string));
            dt.Columns.Add("Count", typeof(string));
            dt.Columns.Add("Prince", typeof(string));
            dt.Columns.Add("Total", typeof(string));
            dt.Columns.Add("Remark", typeof(string));
            dt.Rows.Add(new object[] { "1", "三联复写打印纸", "二等分", "箱", "5", "45.00", "225.00", "备注" });
            dt.Rows.Add(new object[] { "2", "联想计算机", "台", "箱", "5", "2000", "10000", "备注" });
            dt.Rows.Add(new object[] { "3", "联想计算机", "台", "箱", "5", "2000", "10000", "备注" });
            dt.Rows.Add(new object[] { "4", "联想计算机", "台", "箱", "5", "2000", "10000", "备注" });
            dt.Rows.Add(new object[] { "5", "联想计算机", "台", "箱", "5", "2000", "10000", "备注" });
            dt.Rows.Add(new object[] { "6", "联想计算机", "台", "箱", "5", "2000", "10000", "备注" });
            foreach (DataRow dr in dt.Rows)
            {
                //追加一行
                Report.DetailGrid.Recordset.Append();
                //给模板设置的每一列插入数据
                NO.AsString = dr["NO"].ToString();
                ProductName.AsString = dr["ProductName"].ToString();
                Size.AsString = dr["Size"].ToString();
                Dawei.AsString = dr["Dawei"].ToString();
                Count.AsString = dr["Count"].ToString();
                Prince.AsString = dr["Prince"].ToString();
                Total.AsString = dr["Total"].ToString();
                Remark.AsString = dr["Remark"].ToString();
                //插入
                Report.DetailGrid.Recordset.Post();
            }
             //插入尾部数据
            Report.ControlByName("Heji").AsStaticBox.Text = "叁仟伍佰";
            Report.ControlByName("HejiCount").AsStaticBox.Text = "55";
            Report.ControlByName("HejiLower").AsStaticBox.Text = "¥3500";
        }
    }
}

posted @ 2026-09-06 09:39  清哥的码农生活  阅读(14)  评论(0)    收藏  举报