| using System; | 
| using System.Collections.Generic; | 
| using System.ComponentModel; | 
| using System.Data; | 
| using System.Drawing; | 
| using System.Text; | 
| using System.Windows.Forms; | 
| using System.Runtime.InteropServices; | 
| using gregn6Lib; | 
| using DBUtility;  | 
|   | 
| namespace APSM | 
| { | 
|     public partial class Sc_ProduceMultilevelQuery : Form   //简单报表-直接有一个存储过程+简单过滤,返回生成报表 | 
|     { | 
|         public Sc_ProduceMultilevelQuery() | 
|         { | 
|             InitializeComponent(); | 
|         } | 
|         public string ModName = ""; | 
|         public string ModCaption = "生产多级查询"; | 
|   | 
|   | 
|         #region 固定代码 | 
|   | 
|         private void initGrid() | 
|         { | 
|             Sc_ICMOSortBillFun.initGridList(grdMain, this.Name); | 
|             grdMain.OutlineCol = 0; | 
|             grdMain.OutlineBar = VSFlex7.OutlineBarSettings.flexOutlineBarCompleteLeaf; | 
|             Sc_ICMOSortBillFun.initGridList(grdSub, this.Name); | 
|         } | 
|         //得到对应列 | 
|         private int Fun_GetCol(string sColName) | 
|         { | 
|             return Sc_ICMOSortBillFun.Fun_GetCol(sColName, grdMain); | 
|         } | 
|   | 
|   | 
|           | 
|   | 
|         private void tc_Click(object sender, EventArgs e) | 
|         { | 
|             this.Close(); | 
|         } | 
|   | 
|         //Sc_ProduceMultilevelQueryDlg oDlg = new Sc_ProduceMultilevelQueryDlg(); | 
|         private void cx_Click(object sender, EventArgs e) | 
|         { | 
|             //oDlg.ShowDialog(); | 
|             //if (oDlg.IsOk == 1) | 
|             //{ | 
|                 timer1.Enabled = true; | 
|             //} | 
|         } | 
|         //设置报表名称 | 
|         private void SetFormCaption() | 
|         { | 
|             this.Text = ModCaption; | 
|             lblCaption.Text = this.Text; | 
|             initGrid();//网格标题初始化 | 
|             initHeadCaption();//表头初始化 | 
|             cmbYear.Items.Clear(); | 
|             cmbYear.Items.Add(DateTime.Today.Year - 3); | 
|             cmbYear.Items.Add(DateTime.Today.Year - 2); | 
|             cmbYear.Items.Add(DateTime.Today.Year - 1); | 
|             cmbYear.Items.Add(DateTime.Today.Year); | 
|             cmbYear.SelectedIndex = 3; | 
|             cmbHPeriod.Text = DateTime.Today.Month.ToString(); | 
|         } | 
|   | 
|   | 
|         private void Frm_EasyReport_Load(object sender, EventArgs e) | 
|         { | 
|             SetFormCaption(); | 
|         } | 
|   | 
|   | 
|         private void timer1_Tick(object sender, EventArgs e) | 
|         { | 
|             timer1.Enabled = false; | 
|             if (Fun_AllowQuery()) | 
|             { | 
|                 initGrid(); | 
|                 Xt_Wait oFrm = new Xt_Wait(); | 
|                 oFrm.Show(); | 
|                 System.Windows.Forms.Application.DoEvents(); | 
|                 Display(); | 
|                 System.Windows.Forms.Application.DoEvents(); | 
|                 oFrm.Close(); | 
|                 oFrm.Dispose(); | 
|             } | 
|         } | 
|   | 
|         private void Xs_SellOutDayReport_KeyUp(object sender, KeyEventArgs e) | 
|         { | 
|             if (e.KeyValue == 13) | 
|                 timer1.Enabled = true; | 
|         } | 
|   | 
|         private void mrlk_Click(object sender, EventArgs e) | 
|         { | 
|             Sc_ICMOSortBillFun.DefaultGrid(grdMain, this.Name); | 
|         } | 
|   | 
|         private void bclk_Click(object sender, EventArgs e) | 
|         { | 
|             Sc_ICMOSortBillFun.SaveGrid(grdMain, this.Name); | 
|         } | 
|   | 
|         //打印 | 
|         private void dy_Click(object sender, EventArgs e) | 
|         { | 
|             Sub_SetReport(); | 
|             Report.Print(true); | 
|         } | 
|         //预览 | 
|         private void view_Click(object sender, EventArgs e) | 
|         { | 
|             Sub_SetReport(); | 
|             Report.PrintPreview(true); | 
|         } | 
|         | 
|         #endregion | 
|   | 
|         #region 界面处理 | 
|         //初始化表头显示 | 
|         private void initHeadCaption() | 
|         { | 
|             | 
|         } | 
|   | 
|         private bool Fun_AllowQuery()//审核查询条件 | 
|         { | 
|             //if (txtHBDeptID.Text.Trim().Length == 0) | 
|             //{ | 
|             //    MessageBox.Show(this, "请选择开始部门!", "提示"); | 
|             //    return false; | 
|             //} | 
|             return true; | 
|         } | 
|   | 
|         private void Display() | 
|         { | 
|             SQLHelper.ClsCN SubCn = new SQLHelper.ClsCN(); | 
|             DataSet DSet ; | 
|             //显示报表头 标题 | 
|              | 
|             //停止GRID刷新 加快速度 | 
|             grdMain.Redraw = VSFlex7.RedrawSettings.flexRDNone; | 
|             grdMain.Rows = grdMain.FixedRows; | 
|             //过滤条件Dlg | 
|             string sDlgWhere = ""; | 
|             sDlgWhere = sDlgWhere + "," + cmbYear.Text.ToString() + ""; | 
|             sDlgWhere = sDlgWhere + "," + cmbHPeriod.Text.ToString() + ""; | 
|             sDlgWhere = sDlgWhere + "," + DBUtility.ClsPub.isLong(txtHMaterID.Tag).ToString() + ""; | 
|             sDlgWhere = sDlgWhere + "," + DBUtility.ClsPub.isLong(txtHICMOBillNo.Tag).ToString() + ""; | 
|             if (sDlgWhere.Trim().Length > 0) | 
|             { | 
|                 sDlgWhere = sDlgWhere.Substring(1, sDlgWhere.Length - 1); | 
|             }  | 
|             // | 
|             DSet = SubCn.RunProcReturn("exec h_p_Sc_ProduceMultilevelQuery " + sDlgWhere, "Gy_Czygl"); | 
|             //生成首行标题 | 
|             if (DSet==null || DSet.Tables[0].Rows.Count == 0) | 
|             { | 
|                 grdMain.Redraw = VSFlex7.RedrawSettings.flexRDBuffered; | 
|                 return; | 
|             } | 
|             Sc_ICMOSortBillFun.DisplayGridWithTree(grdMain, DSet);//填充网格 | 
|             Sc_ICMOSortBillFun.GridTotal(grdMain, DSet);//自动合计 | 
|             //合计  | 
|             // | 
|             Sc_ICMOSortBillFun.GetGrid(grdMain, this.Name);//获取列宽 | 
|             //恢复grid刷新 | 
|             grdMain.Redraw = VSFlex7.RedrawSettings.flexRDBuffered; | 
|         } | 
|   | 
|   | 
|         private void DisplaySub() | 
|         { | 
|             SQLHelper.ClsCN SubCn = new SQLHelper.ClsCN(); | 
|             DataSet DSet; | 
|             //显示报表头 标题 | 
|             if (grdMain.Row < 0) | 
|             { | 
|                 grdSub.Rows = grdSub.FixedRows;  | 
|                 return; | 
|             } | 
|             //停止GRID刷新 加快速度 | 
|             grdSub.Redraw = VSFlex7.RedrawSettings.flexRDNone; | 
|             grdSub.Rows = grdSub.FixedRows; | 
|             //过滤条件Dlg | 
|             string sDlgWhere = ""; | 
|             sDlgWhere = sDlgWhere + "," + cmbYear.Text.ToString() + ""; | 
|             sDlgWhere = sDlgWhere + "," + cmbHPeriod.Text.ToString() + ""; | 
|             sDlgWhere = sDlgWhere + "," + DBUtility.ClsPub.isLong(grdMain.get_TextMatrix(grdMain.Row, Fun_GetCol("hmaterid"))).ToString() + ""; | 
|             if (sDlgWhere.Trim().Length > 0) | 
|             { | 
|                 sDlgWhere = sDlgWhere.Substring(1, sDlgWhere.Length - 1); | 
|             } | 
|             // | 
|             DSet = SubCn.RunProcReturn("exec h_p_Sc_ProduceMultilevelQuery_GY " + sDlgWhere, "Gy_Czygl"); | 
|             //生成首行标题 | 
|             if (DSet == null || DSet.Tables[0].Rows.Count == 0) | 
|             { | 
|                 grdSub.Rows = grdSub.FixedRows; | 
|                 grdSub.Redraw = VSFlex7.RedrawSettings.flexRDBuffered; | 
|                 return; | 
|             } | 
|             Sc_ICMOSortBillFun.DisplayGrid(grdSub, DSet);//填充网格 | 
|             Sc_ICMOSortBillFun.GridTotal(grdSub, DSet);//自动合计 | 
|             //合计  | 
|             // | 
|             //Sc_ICMOSortBillFun.GetGrid(grdSub, this.Name);//获取列宽 | 
|             //恢复grid刷新 | 
|             grdSub.Redraw = VSFlex7.RedrawSettings.flexRDBuffered; | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 打印设置 | 
|   | 
|         //打印设置 | 
|         GridppReport Report; | 
|         //设置打印模版路径 | 
|         private void Sub_SetReport() | 
|         { | 
|             Report = new GridppReport(); | 
|             Report.LoadFromFile(DBUtility.ClsPub.AppPath + @"\Report\生产月度评审.grf");  //here . | 
|             Report.BeforePostRecord += new _IGridppReportEvents_BeforePostRecordEventHandler(ReportBeforePostRecord); | 
|             Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable); | 
|         } | 
|         //填入单据表头信息 | 
|         private void ReportBeforePostRecord()//your report?kao | 
|         { | 
|             //Report.FieldByName("HDateItemID").AsString = lblHDateItemID.Text; | 
|             //Report.FieldByName("CusNumber").AsString = lblHCusNumber.Text; | 
|             //Report.FieldByName("CusName").AsString = lblHCusName.Text; | 
|             //Report.FieldByName("BeginBalance").AsString = lblHBeginBalance.Text; | 
|         } | 
|         //填入单据明细信息 | 
|         private void ReportFetchRecordByDataTable() | 
|         { | 
|             //BLL.Utility.FillRecordToReport(Report, grdMain, grdMain,0,); | 
|         } | 
|         #endregion | 
|   | 
|         #region 数据导出 | 
|           | 
|         private void yc_Click(object sender, EventArgs e) | 
|         { | 
|              | 
|         } | 
|         #endregion | 
|   | 
|         | 
|   | 
|         private void timer2_Tick(object sender, EventArgs e) | 
|         { | 
|             timer2.Enabled = false; | 
|             //oDlg.ShowDialog(); | 
|             //if (oDlg.IsOk == 1) | 
|             //{ | 
|                 timer1.Enabled = true; | 
|             //} | 
|         } | 
|   | 
|         private void grdMain_DblClick(object sender, EventArgs e) | 
|         { | 
|             if (grdMain.Row > 0) | 
|             { | 
|                 DisplaySub(); | 
|             } | 
|         } | 
|   | 
|         private void cmdHDeptID_Click(object sender, EventArgs e) | 
|         { | 
|             BLL.ClsBaseSelect_K3.SetTextByMater_K3(txtHMaterID, txtHMaterName, txtHMaterModel); | 
|         } | 
|     } | 
| } |