frmclientsellreport.cs

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

CS
140
字号
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 frmClientSellReport : Form
    {
        public frmClientSellReport()
        {
            InitializeComponent();
        }
        private SqlDataAdapter da = new SqlDataAdapter();
        private SqlConnection Conn = new SqlConnection("server=" + CLoad.ReadServer() + ";pwd=" + CLoad.ReadPwd() + ";uid=sa;database=YYJXC");
        private DataView medicine_dv = null;
        private BindingSource medicine_bind = new BindingSource();
        private DataSet medicine_ds = new DataSet();
        private void frmClientSellReport_Load(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Maximized;
            SqlDataAdapter medicine_da = new SqlDataAdapter("select 药品名称,生产日期,经销方式,批号,拼音码,通用名 from tb_medicine", Conn);
            medicine_da.Fill(medicine_ds, "tb_medicine");
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (checkBox1.Checked || checkBox2.Checked)
            {
                string selectStr = "where ";
                if (checkBox1.Checked)
                {
                    if (textBox1.Text.Trim() == "")
                    {
                        MessageBox.Show("请输入药品名称!", "信息提示");
                        textBox1.Focus();
                        return;
                    }
                    selectStr += "药品名称 like '%" + textBox1.Text.Trim() + "%'";
                }
                if (checkBox2.Checked)
                {
                    if (checkBox1.Checked)
                    {
                        selectStr += " and ";
                    }
                    selectStr += "(销售日期 between '" + dateTimePicker1.Value + "' and '" + dateTimePicker2.Value + "') ";
                }
                SqlCommand Comm = new SqlCommand("select 客户名称,sum(数量)as 销售数据,sum(金额)as 销售金额 from tb_sell_detailed " + selectStr + "group by 客户名称", Conn);
                da.SelectCommand = Comm;
                DataSet ds = new DataSet();
                da.Fill(ds);
                if (ds.Tables[0].Rows.Count < 1)
                {
                    MessageBox.Show("没有找到满足当前条件的数据!", "信息提示");
                    dataGridView1.DataSource = null;
                    return;
                }
                dataGridView1.DataSource = ds.Tables[0];
                dataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                dataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                dataGridView1.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            }
            else
            {
                MessageBox.Show("请选择一种查询类型!","信息提示");
                checkBox1.Focus();
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            try
            {
                medicine_dv = new DataView(medicine_ds.Tables["tb_medicine"]);
                medicine_dv.RowFilter = "药品名称 like '*" + textBox1.Text.Trim() + "*' or 拼音码 like '*" + textBox1.Text.Trim() + "*' or 通用名 like '*" + textBox1.Text.Trim() + "*'";
                medicine_bind.DataSource = medicine_dv;
                dataGridView2.DataSource = null;
                dataGridView2.DataSource = medicine_bind;
                if (textBox1.Text.Trim() != "" && medicine_bind.Count > 0)
                {
                    dataGridView2.Columns[4].Visible = false;
                    dataGridView2.Columns[5].Visible = false;
                    dataGridView2.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                    dataGridView2.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                    dataGridView2.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                    dataGridView2.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                    dataGridView2.Visible = true;
                }
                else
                    dataGridView2.Visible = false;
            }
            catch { dataGridView2.Visible = false; }
        }

        private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Up && dataGridView1.Visible)
            {
                medicine_bind.Position -= 1;
                e.Handled = true;
            }
            if (e.KeyCode == Keys.Down && dataGridView1.Visible)
            {
                medicine_bind.Position += 1;
                e.Handled = true;
            }
            if (e.KeyCode == Keys.PageDown && dataGridView1.Visible)
            {
                medicine_dv.RowFilter = null;
                medicine_bind.DataSource = medicine_dv;
            }
        }

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((Keys)e.KeyChar == Keys.Enter && dataGridView2.Visible)
            {
                textBox1.Text = medicine_dv[medicine_bind.Position]["药品名称"].ToString();
                dataGridView2.Visible = false;
                button1.Focus();
                e.Handled = true;
            }
        }

        private void textBox1_Leave(object sender, EventArgs e)
        {
            dataGridView2.Visible = false;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Close();
        }
    }
}

⌨️ 快捷键说明

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