| 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 SQLHelper; | 
|   | 
| namespace APSM | 
| { | 
|     public partial class KF_LackMaterialAnalyse : Form   // | 
|     { | 
|         public KF_LackMaterialAnalyse() | 
|         { | 
|             InitializeComponent(); | 
|         } | 
|         public KF_LackMaterialAnalyseDetail oDetailDlg = new KF_LackMaterialAnalyseDetail(); | 
|         public const Int16 FixCols = 7; | 
|         DAL.ClsSc_ICMOSortBill oMain=new DAL.ClsSc_ICMOSortBill(); | 
|         public string ModName = ""; | 
|         public string ModCaption = "车间缺料分析"; | 
|   | 
|         public const int HNumberCol = 0; | 
|         public const int HNameCol = 1; | 
|         public const int HModelCol = 2; | 
|         public const int HKCQtyCol = 3; | 
|         public const int HZTQtyCol = 4; | 
|         public const int HWFQtyCol = 5; | 
|         public const int HTotalCol = 6; | 
|         #region 固定代码  | 
|   | 
|         private void initGrid() | 
|         { | 
|             grdMain.Cols =7; | 
|             grdMain.Rows =2; | 
|             grdMain.FixedCols = 0; | 
|             grdMain.FixedRows = 2; | 
|             grdMain.ExplorerBar = VSFlex7.ExplorerBarSettings.flexExSort; | 
|             grdMain.AllowBigSelection = false; | 
|             grdMain.AllowSelection = false; | 
|             grdMain.SelectionMode = VSFlex7.SelModeSettings.flexSelectionByRow; | 
|             grdMain.ScrollTrack = true; | 
|             grdMain.WordWrap = true; | 
|             grdMain.set_ColWidth(-1, 1500); | 
|             grdMain.set_RowHeight(-1, 400); | 
|             grdMain.set_RowHeight(0, 500); | 
|             //隐藏列 | 
|             grdMain.set_RowHidden(1, true); | 
|             grdMain.RowHeightMin = 250; | 
|             grdMain.Editable = VSFlex7.EditableSettings.flexEDNone; | 
|             grdMain.AllowUserResizing = VSFlex7.AllowUserResizeSettings.flexResizeBoth; | 
|             grdMain.AllowUserFreezing = VSFlex7.AllowUserFreezeSettings.flexFreezeBoth; | 
|             grdMain.set_FixedAlignment(-1, VSFlex7.AlignmentSettings.flexAlignCenterCenter); | 
|             grdMain.AutoSizeMode = VSFlex7.AutoSizeSettings.flexAutoSizeColWidth; | 
|             grdMain.set_TextMatrix(0, HNumberCol, "物料代码"); | 
|             grdMain.set_TextMatrix(0, HNameCol, "物料名称"); | 
|             grdMain.set_TextMatrix(0, HModelCol, "物料型号"); | 
|             grdMain.set_TextMatrix(0, HKCQtyCol, "即时库存"); | 
|             grdMain.set_TextMatrix(0, HZTQtyCol, "在途采购"); | 
|             grdMain.set_TextMatrix(0, HWFQtyCol, "未发数"); | 
|             grdMain.set_TextMatrix(0, HTotalCol, "合计"); | 
|             grdMain.FrozenCols = 7; | 
|              // | 
|             LoadDateCol(28); | 
|             Sc_ICMOSortBillFun.GetGrid(grdMain, 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(); | 
|         } | 
|   | 
|         KF_LackMaterialAnalyseDlg oDlg = new KF_LackMaterialAnalyseDlg(); | 
|         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();//表头初始化 | 
|         } | 
|   | 
|   | 
|         private void Frm_EasyReport_Load(object sender, EventArgs e) | 
|         { | 
|             SetFormCaption(); | 
|         } | 
|   | 
|   | 
|         private void timer1_Tick(object sender, EventArgs e) | 
|         { | 
|             timer1.Enabled = false; | 
|             if (Fun_AllowQuery()) | 
|             {  | 
|                 System.Windows.Forms.Application.DoEvents(); | 
|                 Query(); | 
|                 System.Windows.Forms.Application.DoEvents(); | 
|             } | 
|         } | 
|   | 
|         private void Xs_SellOutPriceReport_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 Query() | 
|         { | 
|             string sSQL = ""; | 
|             long lngCount =0; | 
|             int  i =0; | 
|             int r =0; | 
|             int c =0; | 
|             Single cSumAmount=0; | 
|             Single ctmpAmount=0; | 
|             string sNewDate="";  | 
|             int m =0;   | 
|             grdMain.Redraw = VSFlex7.RedrawSettings.flexRDNone;  | 
|             initGrid(); | 
|             oDetailDlg.initGrid(); | 
|             // | 
|             sNewDate = oMain.GetNewSetup(DBUtility.ClsPub.isLong(oDlg.txtHBDeptID.Tag)).ToShortDateString(); //得到最新排程 | 
|             //加载投料记录 | 
|             oMain.FillData(DBUtility.ClsPub.isLong(oDlg.txtHBDeptID.Tag)); | 
|             // | 
|             System.Windows.Forms.Application.DoEvents(); | 
|             sSQL = "exec h_p_Sc_GetICMOSortBillList "+DBUtility.ClsPub.isLong(oDlg.txtHBDeptID.Tag).ToString()+",'"+sNewDate+"'"; | 
|             SQLHelper.ClsCN oCn=new ClsCN(); | 
|             DataSet DS=oCn.RunProcReturn(sSQL,"gy_Material"); | 
|             pb1.Maximum = DS.Tables[0].Rows.Count; | 
|             pb1.Visible = true; | 
|             for(i=0;i<DS.Tables[0].Rows.Count;i++) | 
|             { | 
|                 InputTLD(DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[i]["HNumber"]) | 
|                         , DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[i]["HSourceName"]) | 
|                         , DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[i]["HICMOBillNo"]) | 
|                         , DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[i]["HSplitNo"]) | 
|                         , DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[i]["HDate"]) | 
|                         , DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[i]["HQty"])); | 
|                 System.Windows.Forms.Application.DoEvents(); | 
|                 pb1.Value=i; | 
|                 System.Windows.Forms.Application.DoEvents(); | 
|              | 
|             } | 
|             pb1.Visible = false; | 
|             //设置未发数 | 
|             for( i=oDetailDlg.grdMain.FixedRows;i<oDetailDlg.grdMain.Rows;i++) | 
|             { | 
|                 r = -1; | 
|                 if( DBUtility.ClsPub.isSingle(oDetailDlg.grdMain.get_TextMatrix(i, 4)) -DBUtility.ClsPub.isSingle(oDetailDlg.grdMain.get_TextMatrix(i, 5)) != 0 ) | 
|                 { | 
|                     r = FindRow(oDetailDlg.grdMain.get_TextMatrix(i, 0)); | 
|                     if( r != -1 ) | 
|                     { | 
|                         //设置未发数 | 
|                         grdMain.set_TextMatrix(r,5,Convert.ToString(DBUtility.ClsPub.isSingle(grdMain.get_TextMatrix(r,5))  | 
|                                         +DBUtility.ClsPub.isSingle(oDetailDlg.grdMain.get_TextMatrix(i,4)) | 
|                                         -DBUtility.ClsPub.isSingle(oDetailDlg.grdMain.get_TextMatrix(i,5)))); | 
|                     } | 
|                 } | 
|             } | 
|             //判断 未发数和 库存是否 够用 | 
|             for(i=grdMain.FixedRows;i<grdMain.Rows;i++) | 
|             {  | 
|                 grdMain.set_Cell(VSFlex7.CellPropertySettings.flexcpBackColor, i, 3,i,3 ,DBUtility.ClsPub.Enum_Color.hx_Write); | 
|                 grdMain.set_Cell(VSFlex7.CellPropertySettings.flexcpForeColor, i, 3,i,3, DBUtility.ClsPub.Enum_Color.hx_Black); | 
|                 // | 
|                 if (DBUtility.ClsPub.isSingle(grdMain.get_TextMatrix(i, 5)) -DBUtility.ClsPub.isSingle(grdMain.get_TextMatrix(i, 3)) > 0 ) | 
|                 { | 
|                     //库存不足显示红色 | 
|                     grdMain.set_Cell(VSFlex7.CellPropertySettings.flexcpForeColor, i, 3, i , 3 ,DBUtility.ClsPub.Enum_Color.hx_Red); | 
|                 } | 
|             } | 
|             // | 
|             for( i=grdMain.FixedRows;i<grdMain.Rows;i++) | 
|             {   | 
|                 ctmpAmount = 0; | 
|                 cSumAmount =DBUtility.ClsPub.isSingle(grdMain.get_TextMatrix(i, 6))  | 
|                                 - DBUtility.ClsPub.isSingle(grdMain.get_TextMatrix(i, 5))  | 
|                                 + DBUtility.ClsPub.isSingle(grdMain.get_TextMatrix(i, 3)); | 
|                 for(  m=7;m<grdMain.Cols;m++) | 
|                 { | 
|                     ctmpAmount = ctmpAmount + DBUtility.ClsPub.isSingle(grdMain.get_TextMatrix(i, m)); | 
|                     if( ctmpAmount > cSumAmount) | 
|                     { | 
|                         grdMain.set_Cell(VSFlex7.CellPropertySettings.flexcpForeColor, i, m, i, m, DBUtility.ClsPub.Enum_Color.hx_Red); | 
|                     } | 
|                 } | 
|                 //=================== | 
|             } | 
|             grdMain.Redraw = VSFlex7.RedrawSettings.flexRDBuffered; | 
|             System.Windows.Forms.Application.DoEvents(); | 
|         } | 
|   | 
|          | 
|         private void InputTLD(string sItemNumber ,string sJT ,string  sSCRWDH ,string sPGDH ,string sDate ,string  sQuantity ) | 
|         { | 
|             int c; | 
|             int r;  | 
|             int w; | 
|             Single bl=0; | 
|             long i; | 
|             long SUM ;  | 
|             List<DAL.Cls_ICTLDetail> oColl;  | 
|             if( sQuantity.Trim() != "" ) | 
|             { | 
|                 oColl=oMain.GetTLColl(sSCRWDH); | 
|                 if(oColl==null || oColl.Count==0) | 
|                 { | 
|                     return ; | 
|                 } | 
|                 foreach(DAL.Cls_ICTLDetail oTLDetail in oColl) | 
|                 {  | 
|                     r =  FindRow( oTLDetail.WLDM ); | 
|                     if(r==-1) | 
|                     { | 
|                         grdMain.Rows=grdMain.Rows+1;  | 
|                         r = grdMain.Rows - 1; | 
|                     } | 
|                     grdMain.set_TextMatrix(r,0,oTLDetail.WLDM);  | 
|                     grdMain.set_TextMatrix(r, 1,oTLDetail.WLMC); | 
|                     grdMain.set_TextMatrix(r, 2,oTLDetail.GGXH); | 
|                     grdMain.set_TextMatrix(r, 3,oTLDetail.StockAmount.ToString()); // 'GetSumStockAmount(otldetail.wldm) | 
|                     grdMain.set_TextMatrix(r, 4,oTLDetail.OrderAmount.ToString()); //'GetSumOrderAmount(otldetail.wldm) | 
|                     grdMain.set_TextMatrix(r, 5,""); | 
|                     c = FindCol(sDate); | 
|                     if( c != -1 ) | 
|                     { | 
|                         if( oTLDetail.FAuxQty != 0) | 
|                         { | 
|                             bl = oTLDetail.JHTLS / oTLDetail.FAuxQty; | 
|                         } | 
|                         if( DBUtility.ClsPub.isSingle(sQuantity) * bl != 0) | 
|                         {  | 
|                             grdMain.set_TextMatrix(r, c,Convert.ToString( DBUtility.ClsPub.isSingle(grdMain.get_TextMatrix(r,c))+ DBUtility.ClsPub.isSingle(sQuantity)*bl)); | 
|                             grdMain.set_TextMatrix(r, 6,Convert.ToString( DBUtility.ClsPub.isSingle(grdMain.get_TextMatrix(r,6))+ DBUtility.ClsPub.isSingle(sQuantity)*bl)); | 
|                         } | 
|                     } | 
|                 //''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' | 
|                     r = FindDetailRow(oTLDetail.WLDM, oTLDetail.MainWLDM, sSCRWDH); | 
|                     if( r == -1 ) | 
|                     { | 
|                         oDetailDlg.grdMain.Rows = oDetailDlg.grdMain.Rows + 1; | 
|                         r = oDetailDlg.grdMain.Rows - 1; | 
|                     } | 
|                     oDetailDlg.grdMain.set_TextMatrix(r, 0, oTLDetail.WLDM);  | 
|                     oDetailDlg.grdMain.set_TextMatrix(r, 1, oTLDetail.WLMC); | 
|                     oDetailDlg.grdMain.set_TextMatrix(r, 2, oTLDetail.GGXH); | 
|                     oDetailDlg.grdMain.set_TextMatrix(r, 3, sSCRWDH); | 
|                     oDetailDlg.grdMain.set_TextMatrix(r, 4, oTLDetail.YFSL.ToString()); | 
|                     oDetailDlg.grdMain.set_TextMatrix(r, 5, oTLDetail.LLS.ToString()); | 
|                     oDetailDlg.grdMain.set_TextMatrix(r, 6, oTLDetail.BLS.ToString()); | 
|                     oDetailDlg.grdMain.set_TextMatrix(r, 7, sPGDH); | 
|                     oDetailDlg.grdMain.set_TextMatrix(r, 8, oTLDetail.MainWLDM); | 
|                     oDetailDlg.grdMain.set_TextMatrix(r, 9, oTLDetail.MainWLMC); | 
|                     oDetailDlg.grdMain.set_TextMatrix(r, 10, sJT); | 
|                     // | 
|                     c = FindDetailCol(sDate); | 
|                     if( c != -1 ) | 
|                     { | 
|                         if( oTLDetail.FAuxQty != 0) | 
|                         { | 
|                             bl = oTLDetail.JHTLS / oTLDetail.FAuxQty; | 
|                         } | 
|                         if( DBUtility.ClsPub.isSingle(sQuantity) * bl != 0) | 
|                         { | 
|                             oDetailDlg.grdMain.set_TextMatrix(r, c ,Convert.ToString( DBUtility.ClsPub.isSingle(sQuantity) * bl)); | 
|                             oDetailDlg.grdMain.set_TextMatrix(r, 11,Convert.ToString( DBUtility.ClsPub.isSingle(oDetailDlg.grdMain.get_TextMatrix(r, 11)) + DBUtility.ClsPub.isSingle(sQuantity) * bl)); | 
|                         } | 
|                     } | 
|                       | 
|                 } | 
|             } | 
|         } | 
|         // | 
|         public int FindRow(string sItemCode) | 
|         { | 
|             // '通过物料编码查找数据所在的行 | 
|             for(int r=grdMain.FixedRows;r<grdMain.Rows ;r++) | 
|             { | 
|                 if(DBUtility.ClsPub.isStrNull(grdMain.get_TextMatrix(r, 0)).Trim() == sItemCode.Trim()) | 
|                 { | 
|                     return r; | 
|                 } | 
|             } | 
|             return  -1;// '''未找到 | 
|         } | 
|         // | 
|         public int FindCol(string sDate) | 
|         { | 
|            // '通过日期查找日期所归属的列  | 
|             for(int c=7;c<grdMain.Cols;c++) | 
|             { | 
|                 if (DBUtility.ClsPub.isStrNull(grdMain.get_TextMatrix(1, c)) == Convert.ToDateTime(sDate).ToString("yyyy-MM-dd")) | 
|                 { | 
|                     return c; | 
|                 } | 
|             } | 
|             return  -1;// '未找到 | 
|         } | 
|         // | 
|         public  int FindDetailRow(string sItemCode,string sMainItemCode ,string sRWDH) | 
|         { | 
|             //'通过日期查找日期所归属的列 | 
|               //  '通过物料编码查找数据所在的行 | 
|             int r;   | 
|             for(r=oDetailDlg.grdMain.FixedRows ;r<oDetailDlg.grdMain.Rows ;r++) | 
|             { | 
|                 if (DBUtility.ClsPub.isStrNull(oDetailDlg.grdMain.get_TextMatrix(r, 0)).Trim() == sItemCode.Trim() | 
|                         && DBUtility.ClsPub.isStrNull(oDetailDlg.grdMain.get_TextMatrix(r, 8)).Trim() == sMainItemCode.Trim() | 
|                                && DBUtility.ClsPub.isStrNull(oDetailDlg.grdMain.get_TextMatrix(r, 3)).Trim() == sRWDH.Trim()) | 
|                 { | 
|                     return r; | 
|                 } | 
|             } | 
|             return  -1;// '未找到 | 
|         } | 
|   | 
|         public int FindDetailCol(string sDate) | 
|         { | 
|             //'通过日期查找日期所归属的列 | 
|             for(int c = 12;c< oDetailDlg.grdMain.Cols ;c++) | 
|             { | 
|                 if (DBUtility.ClsPub.isStrNull(oDetailDlg.grdMain.get_TextMatrix(1, c)).Trim() == Convert.ToDateTime(sDate).ToString("yyyy-MM-dd")) | 
|                 { | 
|                     return c; | 
|                 } | 
|             } | 
|             return  -1;// '未找到 | 
|         } | 
|   | 
|         private void Display() | 
|         { | 
|             // | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 打印设置 | 
|   | 
|         //打印设置 | 
|         GridppReport Report; | 
|         //设置打印模版路径 | 
|         private void Sub_SetReport() | 
|         { | 
|             //Report = new GridppReport(); | 
|             //Report.LoadFromFile(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() | 
|         { | 
|             //Utility.FillRecordToReport(Report, grdMain, false); | 
|         } | 
|         #endregion | 
|   | 
|         #region 数据导出 | 
|   | 
|         [DllImport("User32.dll", CharSet = CharSet.Auto)] | 
|         public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID); | 
|         private void yc_Click(object sender, EventArgs e) | 
|         { | 
|             //string saveFileName = ""; | 
|             //bool fileSaved = false; | 
|             //SaveFileDialog saveDialog = new SaveFileDialog(); | 
|             //saveDialog.DefaultExt = "xls"; | 
|             //saveDialog.Filter = "Excel文件|*.xls"; | 
|             //saveDialog.FileName = this.Text; | 
|             //saveDialog.ShowDialog(); | 
|             //saveFileName = saveDialog.FileName; | 
|             //if (saveFileName.IndexOf(":") < 0) return; //被点了取消  | 
|             //// | 
|             //Excel.Application xlApp = new Excel.Application(); | 
|   | 
|             //if (xlApp == null) | 
|             //{ | 
|             //    MessageBox.Show(this, "无法创建Excel对象,可能您的机子未安装Excel", "提示"); | 
|             //    return; | 
|             //} | 
|             //Excel.Workbooks workbooks = xlApp.Workbooks; | 
|             //Excel.Workbook workbook = workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet); | 
|             //Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets[1];//取得sheet1  | 
|             ////写入 标题 | 
|             //for (int i = 0; i < grdMain.Cols; i++) | 
|             //{ | 
|             //    worksheet.Cells[1, i + 1] = ClsPub.isStrNull(grdMain.get_TextMatrix(0, i)); | 
|             //} | 
|             ////写入内容 | 
|             //for (int r = grdMain.FixedRows; r < grdMain.Rows; r++) | 
|             //{ | 
|             //    for (int i = grdMain.FixedCols; i < grdMain.Cols; i++) | 
|             //    { | 
|             //        worksheet.Cells[r + 1, i + 1] = ClsPub.isStrNull(grdMain.get_TextMatrix(r, i)); | 
|             //    } | 
|             //    System.Windows.Forms.Application.DoEvents(); | 
|             //} | 
|             //worksheet.Columns.EntireColumn.AutoFit();//列宽自适应。 | 
|   | 
|             //if (saveFileName != "") | 
|             //{ | 
|             //    try | 
|             //    { | 
|             //        workbook.Saved = true; | 
|             //        workbook.SaveCopyAs(saveFileName); | 
|             //        fileSaved = true; | 
|             //    } | 
|             //    catch (Exception ex) | 
|             //    { | 
|             //        fileSaved = false; | 
|             //        MessageBox.Show(this, "导出文件时出错,文件可能正被打开!\n" + ex.Message, "提示"); | 
|             //    } | 
|             //} | 
|             //else | 
|             //{ | 
|             //    fileSaved = false; | 
|             //} | 
|             //xlApp.Quit(); | 
|   | 
|             //IntPtr t = new IntPtr(xlApp.Hwnd); //得到这个句柄,具体作用是得到这块内存入口   | 
|             //int k = 0; | 
|             //GetWindowThreadProcessId(t, out k); //得到本进程唯一标志k  | 
|             //System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById(k); //得到对进程k的引用  | 
|             //p.Kill(); //关闭进程k  | 
|             //xlApp = null; | 
|             ////GC.Collect();//强行销毁  | 
|             //if (fileSaved && System.IO.File.Exists(saveFileName)) System.Diagnostics.Process.Start(saveFileName); //打开EXCEL | 
|   | 
|         } | 
|         #endregion | 
|   | 
|   | 
|         private void timer2_Tick(object sender, EventArgs e) | 
|         { | 
|             timer2.Enabled = false; | 
|             oDlg.ShowDialog(); | 
|             if (oDlg.IsOk == 1) | 
|             { | 
|                 timer1.Enabled = true; | 
|             } | 
|         } | 
|         //加载 当月日期 | 
|         private void LoadDateCol(int iDates) | 
|         { | 
|             Sc_ICMOSortBillFun.LoadDateCol(grdMain, FixCols, iDates); | 
|         } | 
|   | 
|         private void grdMain_DblClick(object sender, EventArgs e) | 
|         { | 
|             if( grdMain.Row >= grdMain.FixedRows && grdMain.Row < grdMain.Rows) | 
|             { | 
|                 string sSQL; | 
|                 oDetailDlg.sWLDM =DBUtility.ClsPub.isStrNull( grdMain.get_TextMatrix(grdMain.Row, HNumberCol)); | 
|                 oDetailDlg.LoadData(); | 
|                 oDetailDlg.ShowDialog(); | 
|             } | 
|         } | 
|     } | 
| } |