private void toolPrint_Click(object sender, EventArgs e) { //---保存 string strSql = null; List <string> strSqls = new List <string>(); List <CTextBox> ctxts = GetCTextBoxes(this.splitContainer1.Panel1); foreach (CTextBox ctxt in ctxts) { if (ctxt.IsFlag == "1") //若是单据号 { if (String.IsNullOrEmpty(ctxt.Text.Trim())) { MessageBox.Show("单据号不许为空!", "软件提示"); ctxt.Focus(); return; } else { if (ctxt.Text.Trim().Length != ctxt.MaxLength) { MessageBox.Show("单据号位数不正确!", "软件提示"); ctxt.Focus(); return; } } if (cc.IsExistExpressBillCode(ctxt.Text.Trim(), lbxBillTypeCode.SelectedValue.ToString())) { MessageBox.Show("该单据号已经存在!", "软件提示"); ctxt.Focus(); return; } } else { if (String.IsNullOrEmpty(ctxt.Text.Trim())) { if (MessageBox.Show(ctxt.ControlName + "为空,是否继续", "软件提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No) { ctxt.Focus(); return; } } } strSql = "INSERT INTO tb_BillText(BillTypeCode,ControlId,ExpressBillCode,ControlText) VALUES( '" + lbxBillTypeCode.SelectedValue.ToString() + "','" + ctxt.ControlId + "','" + ctxtExpressBillCode.Text.Trim() + "','" + ctxt.Text.Trim() + "')"; strSqls.Add(strSql); } if (strSqls.Count > 0) { if (dataOper.ExecDataBySqls(strSqls)) { //设置<打印文档>的边距 Margins margin = new Margins(0, 0, 0, 0); pd.DefaultPageSettings.Margins = margin; //设置<打印文档>的纸张大小 PaperSize pageSize = new PaperSize("快递单打印", Convert.ToInt32(MillimetersToPixel(Convert.ToInt32(dtBillType.Rows[0]["BillWidth"]), fDpiX)), Convert.ToInt32(MillimetersToPixel(Convert.ToInt32(dtBillType.Rows[0]["BillHeight"]), fDpiY))); pd.DefaultPageSettings.PaperSize = pageSize; //ppd.Document = pd; //ppd.ShowDialog(); pd.Print(); } else { MessageBox.Show("保存失败,无法打印", "软件提示"); return; } } }
private void toolSave_Click(object sender, EventArgs e) { //判断是否设置快递单号输入框的逻辑标记 bool boolIsFlag = false; string strSql = null; //表示单据类型代码的字符串 string strBillTypeCode = dgvrBillType.Cells["BillTypeCode"].Value.ToString(); //List<T>泛型 List <string> strSqls = new List <string>(); List <CTextBox> ctxts = this.GetCTextBoxes(this); foreach (CTextBox ctxt in ctxts) { //查找被设置为快递单号的控件 if (ctxt.IsFlag == "1") { boolIsFlag = true; } //判断控件的新旧 if (ctxt.ControlId == 0) //若该控件为新添加的 { strSql = "INSERT INTO tb_BillTemplate(BillTypeCode,X,Y,Width,Height,IsFlag,ControlName,DefaultValue,TurnControlName) VALUES( '" + strBillTypeCode + "','" + ctxt.Location.X + "','" + ctxt.Location.Y + "','" + ctxt.Width + "','" + ctxt.Height + "','" + ctxt.IsFlag + "','" + ctxt.ControlName + "','" + ctxt.DefaultValue + "','" + ctxt.TurnControlName + "')"; } else //若该控件为旧的控件 { strSql = "Update tb_BillTemplate Set BillTypeCode = '" + strBillTypeCode + "',X = '" + ctxt.Location.X + "',Y='" + ctxt.Location.Y + "',Width = '" + ctxt.Width + "',Height = '" + ctxt.Height + "',IsFlag = '" + ctxt.IsFlag + "',ControlName = '" + ctxt.ControlName + "',DefaultValue = '" + ctxt.DefaultValue + "',TurnControlName = '" + ctxt.TurnControlName + "' Where ControlId = '" + ctxt.ControlId + "'"; } strSqls.Add(strSql); } //判断快递单号输入框 if (!boolIsFlag) { if (e.GetType() == typeof(FormClosingEventArgs)) //若是关闭操作调用的保存处理 { ((FormClosingEventArgs)e).Cancel = true; //禁止关闭 } MessageBox.Show("请设置快递单号输入框,否则程序无法保存!", "软件提示"); return; } //判断快递单号输入框 if (strSqls.Count > 0) { if (MessageBox.Show("确定要保存吗?", "软件提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes) { if (dataOper.ExecDataBySqls(strSqls)) { DisposeAllCTextBoxes(this); //清除现有的控件布局 InitTemplate(strBillTypeCode); //重新加载窗体上面的控件布局 MessageBox.Show("保存模板成功!", "软件提示"); } else { MessageBox.Show("保存模板失败!", "软件提示"); } } } else { MessageBox.Show("未添加输入框,无需保存!", "软件提示"); } }
private void toolPrint_Click(object sender, EventArgs e) { string strSql = null; //声明表示SQL语句的字符串 List <string> strSqls = new List <string>(); //创建字符串列表 //实例化List<CTextBox> List <CTextBox> ctxts = GetCTextBoxes(this.splitContainer1.Panel1); foreach (CTextBox ctxt in ctxts) //循环所有的文本输入框 { if (ctxt.IsFlag == "1") //若是单据号控件 { if (String.IsNullOrEmpty(ctxt.Text.Trim())) //若单据号为空 { MessageBox.Show("单据号不许为空!", "软件提示"); ctxt.Focus();//单据号控件获得焦点 return; } else { if (ctxt.Text.Trim().Length != ctxt.MaxLength)//若单据号位数不正确 { MessageBox.Show("单据号位数不正确!", "软件提示"); ctxt.Focus(); return; } } //若数据库中已存在当前的单据号码 if (cc.IsExistExpressBillCode(ctxt.Text.Trim(), lbxBillTypeCode.SelectedValue.ToString())) { MessageBox.Show("该单据号已经存在!", "软件提示"); ctxt.Focus(); return; } } else { if (String.IsNullOrEmpty(ctxt.Text.Trim()))//若当前控件的Text属性值为空 { if (MessageBox.Show(ctxt.ControlName + "为空,是否继续", "软件提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No) { ctxt.Focus(); return; } } } //表示插入新快递单的某项信息 strSql = "INSERT INTO tb_BillText(BillTypeCode,ControlId,ExpressBillCode,ControlText)VALUES('" + lbxBillTypeCode.SelectedValue.ToString() + "', '" + ctxt.ControlId + "', '" + ctxtExpressBillCode.Text.Trim() + "','" + ctxt.Text.Trim() + "')"; strSqls.Add(strSql);//向strSqls中添加SQL字符串 } if (strSqls.Count > 0) { if (dataOper.ExecDataBySqls(strSqls))//若保存快递单数据成功 { //设置<打印文档>的边距 Margins margin = new Margins(0, 0, 0, 0); pd.DefaultPageSettings.Margins = margin; //设置<打印文档>的纸张大小 PaperSize pageSize = new PaperSize("快递单打印", Convert.ToInt32(MillimetersToPixel(Convert.ToInt32(dtBillType.Rows[0]["BillWidth"]), fDpiX)), Convert.ToInt32(MillimetersToPixel(Convert.ToInt32(dtBillType.Rows[0]["BillHeight"]), fDpiY))); pd.DefaultPageSettings.PaperSize = pageSize; //设置打印文档的纸张大小 printDialog1.Document = pd; //开始打印快递单 printDialog1.ShowDialog(); //显示打印对话框,以便进行批量打印 } else { MessageBox.Show("保存失败,无法打印", "软件提示"); return; } } }
private void toolSave_Click(object sender, EventArgs e) { //---保存 string strSql = null; List <string> strSqls = new List <string>(); List <CTextBox> ctxts = GetCTextBoxes(this.panelBillPictrue); foreach (CTextBox ctxtTemp in ctxts) { if (ctxtTemp.IsFlag == "1") //若是单据号 { if (String.IsNullOrEmpty(ctxtTemp.Text.Trim())) { MessageBox.Show("单据号不许为空!", "软件提示"); ctxtTemp.Focus(); return; } else { if (ctxtTemp.Text.Trim().Length != ctxtTemp.MaxLength) { MessageBox.Show("单据号位数不正确!", "软件提示"); ctxtTemp.Focus(); return; } } if (strExpressBillCode != ctxtTemp.Text.Trim()) //在单据号发生修改的状态下 { if (cc.IsExistExpressBillCode(ctxtTemp.Text.Trim(), strBillTypeCode)) { MessageBox.Show("该单据号已经存在!", "软件提示"); ctxtTemp.Focus(); return; } } } else { if (String.IsNullOrEmpty(ctxtTemp.Text.Trim())) { if (MessageBox.Show(ctxtTemp.ControlName + "为空,是否继续", "软件提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No) { ctxtTemp.Focus(); return; } } } strSql = "Update tb_BillText set ExpressBillCode = '" + ctxtExpressBillCode.Text.Trim() + "',ControlText = '" + ctxtTemp.Text.Trim() + "' Where BillTypeCode = '" + strBillTypeCode + "' and ExpressBillCode = '" + strExpressBillCode + "' and ControlId = '" + ctxtTemp.ControlId + "'"; strSqls.Add(strSql); } if (strSqls.Count > 0) { if (dataOper.ExecDataBySqls(strSqls)) { MessageBox.Show("保存成功!", "软件提示"); SetValueToDgvr(formExpressBill.dgvExpressBill.CurrentRow); } else { MessageBox.Show("保存失败!", "软件提示"); } } }