frmgongyingshang.cs

来自「关于医院进销存的系统」· CS 代码 · 共 264 行

CS
264
字号
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace YYJXC
{
    public partial class frmGongYingShang : Form
    {
        public frmGongYingShang()
        {
            InitializeComponent();
        }

        private SqlDataAdapter da = null;

        public void ViewData()
        {
            SqlConnection Conn = new SqlConnection("server=" + CLoad.ReadServer() + ";pwd=" + CLoad.ReadPwd() + ";uid=sa;database=YYJXC");
            da = new SqlDataAdapter("select * from tb_gongyingshang", Conn);
            SqlCommandBuilder cb = new SqlCommandBuilder(da);
            da.Fill(dataSet1);
            bindingSource1.DataSource = dataSet1.Tables[0];
            dataGridView1.DataSource = bindingSource1;
        }

        public void BindData()
        {
            tbId.DataBindings.Add("Text", bindingSource1, "供应商编号");
            tbName.DataBindings.Add("Text", bindingSource1, "供应商名称");
            tbPinYinMa.DataBindings.Add("Text", bindingSource1, "拼音码");
            tbDiZhi.DataBindings.Add("Text", bindingSource1, "供应商地址");
            tbDiQu.DataBindings.Add("Text", bindingSource1, "所属地区");
            tbYouZhengBianMa.DataBindings.Add("Text", bindingSource1, "邮政编码");
            tbDianHua.DataBindings.Add("Text", bindingSource1, "联系电话");
            tbChuanZhen.DataBindings.Add("Text", bindingSource1, "传真");
            tbLianXiRen.DataBindings.Add("Text", bindingSource1, "联系人");
            tbLianXiRenDianHua.DataBindings.Add("Text", bindingSource1, "联系人电话");
        }

        public void ControlButtonState(bool State)
        {
            if (State)
            {
                btAdd.Enabled = false;
                btDelete.Enabled = false;
                btSave.Enabled = true;
                tbCancel.Enabled = true;
            }
            else
            {
                btAdd.Enabled = true;
                btDelete.Enabled = true;
                btSave.Enabled = false;
                tbCancel.Enabled = false;
            }
        }
        private void frmGongYingShang_Load(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Maximized;
            cbFields.Items.Add("供应商编号");
            cbFields.Items.Add("供应商名称");
            cbFields.Items.Add("拼音码");
            cbFields.Items.Add("所属地区");
            cbFields.SelectedIndex = 1;
            cbOperator.Items.Add("like");
            cbOperator.Items.Add("=");
            cbOperator.Items.Add(">");
            cbOperator.Items.Add("<");
            cbOperator.SelectedIndex = 0;
            ViewData();
            BindData();
            ControlButtonState(false);
        }

        private void btAdd_Click(object sender, EventArgs e)
        {
            DataView dv = new DataView(dataSet1.Tables[0]);
            dv.Sort = "供应商编号";
            bindingSource1.AddNew();
            if (dv.Count > 0)
            {
                tbId.Text = (int.Parse(dv[dv.Count - 1][0].ToString()) + 1).ToString();
            }
            else
                tbId.Text = "1";
            tbId.Focus();
            ControlButtonState(true);
        }

        private void btSave_Click(object sender, EventArgs e)
        {
            if (tbId.Text.Trim() == "" || tbName.Text.Trim() == "")
            {
                MessageBox.Show("系统要求供应商编号,供应商名称不能为空!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                tbId.Focus();
                return;
            }
            try
            {
                bindingSource1.EndEdit();
                da.Update(dataSet1.Tables[0]);
                dataSet1.Tables[0].AcceptChanges();
                ControlButtonState(false);
            }
            catch (Exception err)
            {
                MessageBox.Show("操作出现错误:" + err.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
        }

        private void btDelete_Click(object sender, EventArgs e)
        {
            if (bindingSource1.Count < 1)
            {
                MessageBox.Show("没有任何数据可以删除!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            if (MessageBox.Show("您确实要删除这条数据吗?", "信息提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
            {
                try
                {
                    dataSet1.Tables[0].Rows[bindingSource1.Position].Delete();
                    da.Update(dataSet1.Tables[0]);
                    dataSet1.Tables[0].AcceptChanges();
                    ControlButtonState(false);
                }
                catch (Exception err)
                {
                    MessageBox.Show("操作出现错误:" + err.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }

        private void tbCancel_Click(object sender, EventArgs e)
        {
            bindingSource1.EndEdit();
            dataSet1.Tables[0].RejectChanges();
            ControlButtonState(false);
        }

        private void btExit_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void frmGongYingShang_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (btSave.Enabled)
            {
                if (MessageBox.Show("数据已经改变,你要保存吗?", "信息提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    btSave_Click(null, null);
            }
        }

        private void tbId_Enter(object sender, EventArgs e)
        {
            ((TextBox)sender).BackColor = tbExpression.BackColor;
        }

        private void tbId_Leave(object sender, EventArgs e)
        {
            ((TextBox)sender).BackColor = groupBox2.BackColor;
        }

        private void tbId_TextChanged(object sender, EventArgs e)
        {
            if (!btSave.Enabled && bindingSource1.Count > 0)
                ControlButtonState(true);
        }

        private void bindingSource1_PositionChanged(object sender, EventArgs e)
        {
            ControlButtonState(false);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (tbExpression.Text.Trim() == "")
            {
                MessageBox.Show("请输入查询条件值!", "信息提示");
                tbExpression.Focus();
                return;
            }
            try
            {
                if (cbFields.SelectedIndex != 0)
                {
                    if (cbOperator.Text == "like")
                    {
                        DataView dv = new DataView(dataSet1.Tables[0]);
                        dv.RowFilter = cbFields.Text + " like '*" + tbExpression.Text.Trim() + "*'";
                        bindingSource1.DataSource = dv;
                    }
                    else
                    {
                        DataView dv = new DataView(dataSet1.Tables[0]);
                        dv.RowFilter = cbFields.Text + cbOperator.Text + "'" + tbExpression.Text.Trim() + "'";
                        bindingSource1.DataSource = dv;
                    }
                }
                else
                {
                    if (cbOperator.Text == "like")
                    {
                        MessageBox.Show("当查询字段为药品编号时,条件运算符不能为like!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        cbFields.Focus();
                        return;
                    }
                    else
                    {
                        DataView dv = new DataView(dataSet1.Tables[0]);
                        dv.RowFilter = cbFields.Text + cbOperator.Text + tbExpression.Text.Trim();
                        bindingSource1.DataSource = dv;
                    }
                }
            }
            catch (Exception err)
            {
                ControlButtonState(false);
                MessageBox.Show("操作出现错误:" + err.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cbFields.Focus();
            }
            ControlButtonState(false);
        }

        private void cbFields_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cbFields.SelectedIndex == 0)
            {
                tbExpression.Text = "0";
                cbOperator.SelectedIndex = 1;
                tbExpression.KeyPress += new KeyPressEventHandler(tbExpression_KeyPress);
            }
            else
            {
                tbExpression.Clear();
                tbExpression.KeyPress -= new KeyPressEventHandler(tbExpression_KeyPress);
            }
        }

        private void tbExpression_KeyPress(object sender, KeyPressEventArgs e)
        {
            try
            {
                if ((Keys)e.KeyChar == Keys.Back)
                    return;
                int.Parse(e.KeyChar.ToString());
            }
            catch { e.Handled = true; }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            bindingSource1.DataSource = dataSet1.Tables[0];
            ControlButtonState(false);
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?