常見的C#窗體間的傳值(二)

using Suiyi.SH.Common;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using XM.OA.Model;

namespace XM.OA.Office.Report
{
    public partial class FormCoatDeliveryOrdersPrint : Form
    {

        public string BeginOrderDate;
        public string EndOrderDate;
        public string TranNo;
        public string OrderNo;

        public FormCoatDeliveryOrdersPrint(string _BeginOrderDate, string _EndOrderDate, string _TranNo, string _OrderNo)
        {
            InitializeComponent();
            this.BeginOrderDate = _BeginOrderDate;
            this.EndOrderDate = _EndOrderDate;
            this.TranNo = _TranNo;
            this.OrderNo = _OrderNo;
        }

        private void FormCoatDeliveryOrdersPrint_Load(object sender, EventArgs e)
        {
            Microsoft.Reporting.WinForms.ReportDataSource reportDeliveryOrdersPrintDataSource = new Microsoft.Reporting.WinForms.ReportDataSource();
            reportDeliveryOrdersPrintDataSource.Name = "dataSetDeliveryOrders";
            reportDeliveryOrdersPrintDataSource.Value = this.dataSetDeliveryOrdersBindingSource;
            this.rvCoatDeliveryOrdersPrint.LocalReport.DataSources.Clear();
            this.rvCoatDeliveryOrdersPrint.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("DataSetDeliveryOrders", GetList()));
            //顯示報表
            this.rvCoatDeliveryOrdersPrint.RefreshReport();
        }

        /// <summary>
        /// 獲取打印的數據源
        /// </summary>
        /// <returns></returns>
        private List<OrdersDeliveryPrintModel> GetList()
        {

            //創建數據庫連接
            DBHelper dbhelper = new DBHelper();
            dbhelper.OpenConnection();
            string sqlDeliveryOrdersPrint = string.Format("select s.OrderNo,h.Fabric,h.MaterialUnit,s.IsCustomerUrgent,s.CuttingMember ,h.Technology,h.Quantity from Orders s join OrdersCoats h on h.OrderID =s.OrderID  where s.OrderDate between '{0}'and '{1}' and s.OrderStatus ='90' and s.DeliveryDate <='{2}'  and s.OrderNo <>N'' and h.Technology <>N'' order by s.DeliveryDate desc ",BeginOrderDate, EndOrderDate,DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
            dbhelper.OpenConnection();
            SqlCommand cmdDeliveryOrdersPrint = new SqlCommand(sqlDeliveryOrdersPrint, dbhelper.Connection);

            SqlDataAdapter da = new SqlDataAdapter(cmdDeliveryOrdersPrint);
            DataTable table = new DataTable();
            da.Fill(table);
            dbhelper.CloseConnection();

            List<OrdersDeliveryPrintModel> list = new List<OrdersDeliveryPrintModel>();
            OrdersDeliveryPrintModel deliveryOrders = null;
            foreach (DataRow row in table.Rows)
            {
                deliveryOrders = new OrdersDeliveryPrintModel();
                if (row.Table.Columns.Contains("OrderNo") && row["OrderNo"] != null && row["OrderNo"].ToString() != "")
                {
                    deliveryOrders.OrderNo = row["OrderNo"].ToString();
                }
                if (row.Table.Columns.Contains("Fabric") && row["Fabric"] != null && row["Fabric"].ToString() != "")
                {
                    deliveryOrders.Fabric = row["Fabric"].ToString();
                }
                if (row.Table.Columns.Contains("MaterialUnit") && row["MaterialUnit"] != null && row["MaterialUnit"].ToString() != "")
                {
                    deliveryOrders.MaterialUnit = Convert.ToInt32(row["MaterialUnit"]);
                }
                if (row.Table.Columns.Contains("IsCustomerUrgent") && row["IsCustomerUrgent"] != null && row["IsCustomerUrgent"].ToString() != "")
                {
                    deliveryOrders.IsCustomerUrgent = row["IsCustomerUrgent"].ToString();
                }
                if (row.Table.Columns.Contains("CuttingMember") && row["CuttingMember"] != null && row["CuttingMember"].ToString() != "")
                {
                    deliveryOrders.CuttingMember = Convert.ToInt32(row["CuttingMember"]);
                }
                if (row.Table.Columns.Contains("Technology") && row["Technology"] != null && row["Technology"].ToString() != "")
                {
                    deliveryOrders.Technology = row["Technology"].ToString();
                }
                if (row.Table.Columns.Contains("Quantity") && row["Quantity"] != null && row["Quantity"].ToString() != "")
                {
                    deliveryOrders.Quantity = Convert.ToInt32(row["Quantity"]);
                }
                list.Add(deliveryOrders);
            }
            return list;
        }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章