using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using gregn6Lib; using SQLHelper; namespace WorkM { public partial class Sc_OrderLackMaterialAnalyse : Form { public Sc_OrderLackMaterialAnalyse () { InitializeComponent(); } public DBUtility.frmBillQueryCondition_New frmCondition; const string ViewName = "h_v_Sc_OrderLackMaterialAnalyse "; public string ModCaption = "订单足缺料分析"; public const string ModName = "3772"; public const string ModRightName = "Sc_OrderLackMaterialAnalyse"; public const string ModRightNameEdit = ModRightName + "_Edit"; public const string ModRightNameCheck = ModRightName + "_Check"; public const string ModRightNameClose = ModRightName + "_Close"; public const string ModRightNameDelete = ModRightName + "_Delete"; public const string ModRightNameMoney = ModRightName + "_Money"; public const string ModRightNameQty = ModRightName + "_Qty"; DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill(); public Sc_ProcessExchangeBill oFrm; public string sDlgWhere = ""; //外窗体递入 Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum(); public Int32 iTopRow = 0;//画横线 int _ScrollValue = 0;//刷新 回位 public long HInterID; //销售订单主ID public long HEntryID; //销售订单子ID public long HMaterID; //物料ID public double HQty; //数量 #region 固定代码 //初始化网格 private void initGrid() { DBUtility.Xt_BaseBillFun.initGridList(grdMain,this.Name); } // //显示 private void Display() { ClsCN SubCn = new ClsCN(); DataSet DSet; string sSql = ""; string sWhere = ""; //特殊条件(日期限制,部门限制) DBUtility.Xt_BaseBillFun.Sub_SQLWhere(ref sWhere); sSql = "exec h_p_Sc_OrderLackMaterialAnalyse " + HMaterID + "," + HQty + "," + HInterID + "," + HEntryID; // DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo); //生成首行标题 if (DSet == null) { MessageBox.Show("没有返回任何结果,请在过滤框中点击【恢复】按钮,尝试再次查询!" + DBUtility.ClsPub.sExeReturnInfo); return; } //释放冻结 DBUtility.Xt_BaseBillFun.CancelFrozenCol(grdMain); //刷新后,回滚到原位置 int selectRows = 0; if (grdMain.CurrentRow != null) { selectRows = DBUtility.ClsPub.isInt(grdMain.CurrentRow.Index); } //绑定 grdMain.DataSource = DSet.Tables[0].DefaultView; //刷新后,回滚到原位置 if (grdMain.Rows.Count > _ScrollValue) { grdMain.FirstDisplayedScrollingRowIndex = _ScrollValue; //iTopRow = _ScrollValue; } if (grdMain.Rows.Count > 0 && grdMain.Rows.Count > selectRows) { grdMain.Rows[selectRows].Selected = true; } //设置合计列 string sTotalCol = ""; sTotalCol = DBUtility.Gy_BaseFun.GetTotalCols(DSet); string[] sT; sT = sTotalCol.Split(Convert.ToChar(",")); oSumGrid.BuildTotalCols(sT); // //冻结 int FrCol = DBUtility.ClsPub.isInt(frmCondition.txtFrozenCol.Text); string s = frmCondition.cmbHComplete.Text; DBUtility.Xt_BaseBillFun.DisplayGrid(grdMain, this.Name, s, FrCol); //画线 GraphLine(); // Total(); // } //时间控件 private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled=false; initGrid(); Display(); } //退出 private void tc_Click(object sender, EventArgs e) { this.Close(); } //刷新 private void sx_Click(object sender, EventArgs e) { //timer1.Enabled = true; Sub_FastQuery(); } //显示单据 private void dj_Click(object sender, EventArgs e) { Sub_ShowBill(); } //显示单据 private void Sub_ShowBill() { } // private Int32 Fun_GetCol(string sCol) { return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain); } // private void Sc_OrderLackMaterialAnalyse_Load(object sender, EventArgs e) { // frmCondition = new DBUtility.frmBillQueryCondition_New(); this.Text = ModCaption; lblCaption.Text = ModCaption; oSumGrid.ogrdMain = grdMain; //初始化 new oSumGrid.oGridsum = grdSum; initGrid(); // } //双击查看 private void grdMain_DblClick(object sender, EventArgs e) { //Sub_ShowBill(); } //查询 private void cx_Click(object sender, EventArgs e) { frmCondition = new DBUtility.frmBillQueryCondition_New(); SetCondition(frmCondition, ViewName, this.Name); frmCondition.ShowDialog(); if (frmCondition.Tag.ToString() == "OK") { Display(); } } public void SetCondition(DBUtility.frmBillQueryCondition_New frmCondition, string ViewName, string Name) { frmCondition.Tag = ""; frmCondition.ViewName = ViewName; frmCondition.ModName = Name; } private void xz_Click(object sender, EventArgs e) { // oFrm = new Sc_ProcessExchangeBill(); oFrm.ShowDialog(); } private void sc_Click(object sender, EventArgs e) { Sub_DeleteBill(); } //删除 private void Sub_DeleteBill() { } private void timer2_Tick(object sender, EventArgs e) { timer2.Enabled = false; if (sDlgWhere == "") { frmCondition = new DBUtility.frmBillQueryCondition_New(); SetCondition(frmCondition, ViewName, this.Name); frmCondition.ShowDialog(); if (frmCondition.Tag.ToString() == "OK") { timer1.Enabled = true; } } else { timer1.Enabled = true; } } // private void bclk_Click(object sender, EventArgs e) { //保存列宽 DBUtility.Xt_BaseBillFun.SaveGrid(grdMain, this.Name); } private void mrlk_Click(object sender, EventArgs e) { DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name); } // private void GraphLine() { int MainIDCol = Fun_GetCol("hmainid"); int SubIDCol = Fun_GetCol("hsubid"); string s = frmCondition.cmbHComplete.Text; long n=0; DBUtility.Xt_BaseBillFun.GraphLine(grdMain, MainIDCol, SubIDCol, s,ref n); //显示 lbldj.Text = "查询出 " + n.ToString() + " 张单据"; lbljl.Text = "共有 " + grdMain.RowCount.ToString() + " 条记录"; } private void GraphicsGrid() { //画底线 DBUtility.Xt_BaseBillFun.GraphicsGrid(grdMain); //画横线 DBUtility.Xt_BaseBillFun.GraphicsRowGrid(grdMain, iTopRow, iTopRow + 50, Fun_GetCol("hmainid")); } // private void grdMain_Paint(object sender, PaintEventArgs e) { GraphicsGrid(); } //合计 new private void Total() { if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0) { oSumGrid.SetGridsum(); oSumGrid.Total(); } } //合计 new private void grdMain_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) { Total(); } //合计 new private void grdMain_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e) { Total(); } private void dc_Click(object sender, EventArgs e) { DBUtility.Gy_BaseFun.DataToExcel(this.Text, grdMain); } #endregion #region //打印设置 GridppReport Report; private void set_Click(object sender, EventArgs e) { //选择打印模板 BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp(); oFrm.sBillName = ModName; oFrm.sBillModel = ModCaption; oFrm.ShowDialog(); } private void dy_Click(object sender, EventArgs e) { //选择打印模板 BLL.Gy_OpenTmp oFrm = new BLL.Gy_OpenTmp(); oFrm.sBillName = ModName; oFrm.sBillModel = ModCaption; oFrm.ShowDialog(); if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK) { // Sub_SetReport(oFrm.sOpenTmp); Report.Print(true); } } //预览 private void yl_Click(object sender, EventArgs e) { } private void Sub_SetReport(string sOpenTmp) { //判断行数 // Report = new GridppReport(); Report.LoadFromFile(DBUtility.ClsPub.AppPath + @"\" + sOpenTmp + ".grf"); //here . Report.BeforePostRecord += new _IGridppReportEvents_BeforePostRecordEventHandler(ReportBeforePostRecord); Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecordByDataTable); } private void ReportBeforePostRecord()// { //Report.FieldByName("条码编号1").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow1].Cells[Fun_GetCol("单据号")].Value); //if (selectRow2 != -1) //{ // Report.FieldByName("条码编号2").AsString = DBUtility.ClsPub.isStrNull(grdMain.SelectedRows[selectRow2].Cells[Fun_GetCol("单据号")].Value); //} } private void ReportFetchRecordByDataTable() { BLL.Utility.FillRecordToReport(Report, grdMain, grdPrint, 0); } #endregion #region 额外方法 //上查 private void shc_Click(object sender, EventArgs e) { // } private void xc_Click(object sender, EventArgs e) { // } #endregion private void yc_Click(object sender, EventArgs e) { BLL.Gy_GridView_Hide oHide = new BLL.Gy_GridView_Hide(); oHide.KeyItem = this.Name; oHide.oGrd = grdMain; oHide.ShowDialog(); // DBUtility.ClsPub.HideGridView(grdMain, Name, DBUtility.ClsPub.AppPath);//设置隐藏列 } private void grdMain_Scroll(object sender, ScrollEventArgs e) { if (e.ScrollOrientation == ScrollOrientation.VerticalScroll) { this.iTopRow = e.NewValue; _ScrollValue = e.NewValue; } } //快速过滤 private void Sub_FastQuery() { Display(); } } }