Beispiel #1
0
        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;
                }
            }
        }
Beispiel #2
0
        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;
                }
            }
        }
Beispiel #4
0
        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("保存失败!", "软件提示");
                }
            }
        }