Example #1
0
        /// <summary>
        /// 刷新商品表格dgv的数据
        /// </summary>
        public void update_dgv()
        {
            commodity c = new commodity();

            c.Username          = love.denglu_username == string.Empty ? "a" : love.denglu_username;//如果为null说明它不是登陆进来的,而是调试过程中产生的
            dgv_data.DataSource = c.selectall();
        }
        private void Frm_LiuLanCom_Load(object sender, EventArgs e)
        {
            btn_add.Visible = false;

            foreach (Control i in Controls)
            {
                i.Anchor = AnchorStyles.None;
            }
            Frm_Login f = new Frm_Login();

            Icon       = f.Icon;
            AutoScroll = true;

            commodity commodity = new commodity();
            DataTable d         = commodity.allcommodity();

            allcount = d.Rows.Count;//记录下商品的总行数
            for (int i = 0; i < allcount; i++)
            {
                comrows.Add(i);//循环添加行数到商品行号集合
            }
            //Text = comrows.Count.ToString();//查看行数

            //程序进来就给看一个商品
            //Random sjs = new Random();
            //int dangqian = sjs.Next(0, comrows.Count);//记录下随机到的行号
            //yigecom(comrows[dangqian]);//pannel控件显示某行的商品
            //comrows.Remove(comrows[dangqian]);//每次都要把用过的值给清理掉
            while (log)
            {
                btn_add_Click(sender, e);
            }
        }
Example #3
0
        private void Frm_LiuLanComDat_Load(object sender, EventArgs e)
        {
            //dgv_com.RowHeadersVisible = false;//不出现开头的空白边
            //dgv_com.ColumnHeadersVisible = false;//不出现开头的空白边
            totxt_yeshu.Text = hangshu.ToString();
            string[] y = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20" };
            //tocmb_yeshu.Items.AddRange(y);
            //tocmb_yeshu.DropDownStyle = ComboBoxStyle.DropDownList;
            //tocmb_yeshu.SelectedIndex = 9;
            //tocmb_yeshu.FlatStyle = FlatStyle.Standard;

            btn_dgv_wushujutip.Visible = false;

            Frm_Login f = new Frm_Login();

            Icon = f.Icon;

            MinimumSize = new Size(1132, 607);
            foreach (Control item in Controls)
            {
                item.Anchor = AnchorStyles.None;
            }

            rab_xiangxi.ReadOnly    = true;//不允许更改卖家介绍
            rab_xiangxi.BorderStyle = BorderStyle.FixedSingle;
            commodity com = new commodity();

            dgv_com.RowsDefaultCellStyle.Alignment          = DataGridViewContentAlignment.MiddleCenter;
            dgv_com.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgv_com.DataSource = com.selldecommdity();

            dgv_com.AutoGenerateColumns      = false;
            dgv_com.AllowUserToResizeColumns = false;
            dgv_com.AllowUserToDeleteRows    = false;
            dgv_com.AllowUserToAddRows       = false;
            dgv_com.ReadOnly    = true;
            dgv_com.MultiSelect = false;

            //下面分页的行、页记得不要放到分页方法里面去,因为每次执行都会初始化
            CurrentRow  = 0; //当前行为0
            CurrentPage = 1; //当前页为1

            fenyegongneng();

            dgv_com.Columns[0].HeaderText = "商品名";
            dgv_com.Columns[1].HeaderText = "售价";
            dgv_com.Columns[2].HeaderText = "包邮";
            dgv_com.Columns[3].HeaderText = "快递";
            dgv_com.Columns[4].HeaderText = "库存";
            dgv_com.Columns[5].HeaderText = "月销量";
            dgv_com.Columns[6].HeaderText = "生产地";

            love.meihua(this);
        }
        /// <summary>
        /// 指定の金の保有量になったら、指定の資源を指定の保有量になるまで売ります
        /// </summary>
        /// <param name="commodity">売る資源</param>
        /// <param name="needGoldAmount">必要な金の保有量</param>
        /// <param name="LimitationAmount">買いをやめる資源の保有量</param>
        public BuyShortageCommodity(commodity commodity, short needGoldAmount, short LimitationAmount)
        {
            AIFactRelOp buyCommodityAmount = commodity switch {
                commodity.food => new food_amount(relop.le, LimitationAmount),
                commodity.stone => new stone_amount(relop.le, LimitationAmount),
                commodity.wood => new wood_amount(relop.le, LimitationAmount),
                _ => throw new Exception(),
            };

            Facts.Add(
                new can_buy_commodity(commodity),
                new gold_amount(relop.ge, needGoldAmount),
                buyCommodityAmount
                );
            Actions.Add(new buy_commodity(commodity));
        }
        /// <summary>
        /// 指定の保有量になった資源を、指定の金の保有量になるか指定の保有量以下になるまで売ります
        /// </summary>
        /// <param name="commodity">売る資源</param>
        /// <param name="needAmount">必要な資源の保有量</param>
        /// <param name="LimitationGoldAmount">売りをやめる金の保有量</param>
        public SellSurplusCommodity(commodity commodity, short needAmount, short LimitationGoldAmount)
        {
            AIFactRelOp sellCommodityAmount = commodity switch {
                commodity.food => new food_amount(relop.ge, needAmount),
                commodity.stone => new stone_amount(relop.ge, needAmount),
                commodity.wood => new wood_amount(relop.ge, needAmount),
                _ => throw new Exception(),
            };

            Facts.Add(
                new can_sell_commodity(commodity),
                new gold_amount(relop.le, LimitationGoldAmount),
                sellCommodityAmount
                );
            Actions.Add(new sell_commodity(commodity));
        }
Example #6
0
    private void DynamicPetObject()
    {
        //
        //TODO 動態生成寵物選擇物件
        //

        for (int i = 0; i < int_pet; i++)
        {
            commodity civ_item = new commodity();
            civ_item.int_gd        = 3;
            civ_item.str_name      = str_petname[i];
            civ_item.str_imgurl    = str_img[i];
            civ_item.srt_commodity = str_commodity[i];
            civ_item.init();
            //   civ_item._btn_img.ID = i.ToString().Trim();
            //  civ_item._btn_img.Click +=_btn_img_Click;
            civ_item._btn_choice.ID     = i.ToString().Trim(); //ID
            civ_item._btn_choice.Click += _btn_choice_Click;   //事件
            UpdatePanel1.ContentTemplateContainer.Controls.Add(civ_item);
        }
    }
        private void btn_delete_Click(object sender, EventArgs e)//点击了删除的按钮
        {
            string    sql = "select comid,name,shoujia,kuadi,kucun,isbaoyou from commodity";
            DataTable d   = sqlHelper.ExecutedataTable(sql, CommandType.Text, null);

            if (d.Rows.Count == 0)
            {
                btn_clear_Click(sender, e);
                lab_id.Visible = false;
                DialogResult result = MessageBox.Show("已经没有商品可以删除了,你想要添加商品吗?", "删除提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result == DialogResult.Yes)
                {
                    btn_addcommodity_Click(sender, e);//执行添加商品的按钮
                }
                else
                {
                    return;
                }
            }

            commodity c = new commodity();

            c.Comid = int.Parse(lab_id.Text);
            c.delete();
            update_dgv();
            MessageBox.Show("删除成功", "删除商品", MessageBoxButtons.OK, MessageBoxIcon.Information);
            if (dgv_yulan.Rows.Count == 0)
            {
                foreach (Control i in Controls)
                {
                    if (i is TextBox || i is ComboBox)
                    {
                        i.Text = string.Empty;
                    }
                }
            }
        }
        private void btn_update_Click(object sender, EventArgs e)//点击了修改商品的按钮
        {
            //判断库存是否正确
            int s = 0;

            if (!int.TryParse(txt_kucun.Text, out s))
            {
                MessageBox.Show("请正确输入不带负数0-9的阿拉伯数字", "库存提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txt_kucun.Focus();
                txt_kucun.SelectAll();
                return;
            }
            //判断售价是否正确
            try
            {
                Convert.ToDecimal(txt_shoujia.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("非法字符!请正确输入价格,应为 0 -- 9 包括一个小数点的数字", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txt_shoujia.SelectAll();
                txt_shoujia.Focus();
                return;
            }

            //判断快递公司
            if (cmb_wuliugongsi.Text == "请选择")
            {
                MessageBox.Show("请选择商品的物流公司", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                cmb_wuliugongsi.Focus();
                return;
            }

            if (comididid != 0 && comididid != int.Parse(txt_comid.Text))
            {
                MessageBox.Show("不能修改商品的id,因为它是唯一的,现在已经为你还原", "属性提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                txt_comid.Text = comididid.ToString();
                txt_comid.Focus();
                txt_comid.SelectAll();
                return;
            }

            #region 检查图片是否都装进去了
            foreach (Control item in Controls)
            {
                if (item is PictureBox)
                {
                    PictureBox p = (PictureBox)item;
                    if (p.Image == null)
                    {
                        MessageBox.Show("请选择图片", "图片未选择提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        return;
                    }
                }
            }
            #endregion
            //先删除后添加达到更新的效果
            commodity cm = new commodity();
            cm.Comid = int.Parse(txt_comid.Text);
            cm.delete();

            insertcommdity();//直接调用插入商品
            MessageBox.Show(string.Format("修改“{0}”商品成功", txt_name.Text), "修改提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

            comididid = int.Parse(txt_comid.Text);
        }
 /// <summary>
 /// 添加到商品库的方法,供给添加商品还有更新商品用的
 /// </summary>
 public void insertcommdity()// 添加到商品库的方法
 {
     #region  层架构插入商品数据
     commodity c = new commodity();
     c.Comid        = int.Parse(txt_comid.Text);
     c.Username     = love.denglu_username == string.Empty ? "a" : love.denglu_username;//如果这个是空的话说明这个是在软件的测试阶段,不是空的话说明它是通过了登陆键来赋值的
     c.Name         = txt_name.Text;
     c.Shoujia      = int.Parse(txt_shoujia.Text);
     c.Kuadi        = cmb_wuliugongsi.Text;
     c.Kucun        = int.Parse(txt_kucun.Text);
     c.Isbaoyou     = ckb_isbaoyou.Checked ? "是" : "否";
     c.Yuexiaoliang = int.Parse(num_yuexiaoliang.Value.ToString());
     //c.Adddatetime    自动使用日期时间
     c.Scd = txt_scd.Text;
     #region c.Isorcolor赋值  判断是否选择了有颜色pannel,并且有颜色chekbox被选中了,然后才赋值
     int colorcount = 0;
     foreach (Control item in pan_iscolor.Controls)
     {
         if (item is CheckBox)
         {
             CheckBox ck = (CheckBox)item;
             if (ck.Checked)
             {
                 colorcount++;
             }
         }
     }
     if (ckb_isorcolor.Checked && colorcount != 0)
     {
         c.Isorcolor = "有";
     }
     else
     {
         c.Isorcolor = "无";
     }
     #endregion
     #region c.Isororther赋值   判断是否选择了有其它pannel,并且有其它色chekbox被选中了,然后才赋值
     int orthercount = 0;
     foreach (var item in list_orther.Items)
     {
         if (item.ToString().Trim() != string.Empty)
         {
             orthercount++;
         }
     }
     if (ckb_isororther.Checked && orthercount != 0)
     {
         c.Isororther = "有";
     }
     else
     {
         c.Isororther = "无";
     }
     #endregion
     c.Xiangxi = txt_xiangxi.Text == "这里键入你的产品介绍,或者你想对买家说的话。" ? "" : txt_xiangxi.Text;
     c.Picda   = sqlHelper.tiqupic(pic_daico, Application.StartupPath + @"\image\a.jpg");
     c.Pic1    = sqlHelper.tiqupic(pic_xiao1, Application.StartupPath + @"\image\a.jpg");
     c.Pic2    = sqlHelper.tiqupic(pic_xiao2, Application.StartupPath + @"\image\a.jpg");
     c.Pic3    = sqlHelper.tiqupic(pic_xiao3, Application.StartupPath + @"\image\a.jpg");
     c.addcommodity();//执行业务层插入的方法
     #region 循环添加颜色
     if (c.Isorcolor == "有")
     {
         commditycolor.Clear();//首先清除颜色的集合
         foreach (Control item in pan_iscolor.Controls)
         {
             if (item is CheckBox)
             {
                 CheckBox ck = (CheckBox)item;
                 if (ck.Checked)
                 {
                     commditycolor.Add(ck.Text);
                 }
             }
         }
         foreach (var item in commditycolor)
         {
             comcolor co = new comcolor();
             co.Comid = int.Parse(txt_comid.Text);
             co.Color = item.ToString();
             co.insertcolor();//执行插入
         }
     }
     #endregion
     #region 循环添加其它
     if (c.Isororther == "有")
     {
         commdityorther.Clear();
         foreach (var item in list_orther.Items)
         {
             if (item.ToString().Trim() != string.Empty)
             {
                 commdityorther.Add(item.ToString().Trim());
             }
         }
         foreach (var item in commdityorther)
         {
             comorther ct = new comorther();
             ct.Comid  = int.Parse(txt_comid.Text);
             ct.Orther = item;
             ct.insertorther();
         }
     }
     #endregion
     #endregion
 }
Example #10
0
        public void updatecommodity()// 修改商品的方法
        {
            commodity c = new commodity();

            c.Kucun       = int.Parse(txt_kucun.Text);
            c.Name        = txt_name.Text;
            c.Shoujia     = decimal.Parse(txt_shoujia.Text);
            c.Scd         = txt_scd.Text;
            c.Kuadi       = cmb_wuliugongsi.Text;
            c.Adddatetime = dtp_adddatetime.Value;
            c.Isbaoyou    = ckb_isbaoyou.Checked ? "是" : "否";
            c.Picda       = sqlHelper.tiqupic(pic_daico, Application.StartupPath + "\\asdf.jpg");
            c.Pic1        = sqlHelper.tiqupic(pic_xiao1, Application.StartupPath + "\\asdf.jpg");
            c.Pic2        = sqlHelper.tiqupic(pic_xiao2, Application.StartupPath + "\\asdf.jpg");
            c.Pic3        = sqlHelper.tiqupic(pic_xiao3, Application.StartupPath + "\\asdf.jpg");
            c.Comid       = int.Parse(dangqianid);
            c.Xiangxi     = txt_xiangxi.Text == "这里键入你的产品介绍,或者你想对买家说的话。" ? "" : txt_xiangxi.Text;

            #region c.Isorcolor赋值  判断是否选择了有颜色pannel,并且有颜色chekbox被选中了,然后才赋值
            int colorcount = 0;
            foreach (Control item in pan_iscolor.Controls)
            {
                if (item is CheckBox)
                {
                    CheckBox ck = (CheckBox)item;
                    if (ck.Checked)
                    {
                        colorcount++;
                    }
                }
            }
            if (ckb_isorcolor.Checked && colorcount != 0)
            {
                c.Isorcolor = "有";
            }
            else
            {
                c.Isorcolor = "无";
            }
            #endregion

            #region c.Isororther赋值   判断是否选择了有其它pannel,并且有其它色chekbox被选中了,然后才赋值
            int orthercount = 0;
            foreach (var item in list_orther.Items)
            {
                if (item.ToString().Trim() != string.Empty)
                {
                    orthercount++;
                }
            }
            //判断是否写的是没有任何属性
            string ss = string.Empty;//循环判断是否是没有添加任何属性如果是的话就要赋值无
            foreach (var item in list_orther.Items)
            {
                if (item.ToString().Trim() != string.Empty)
                {
                    ss += item.ToString().Trim();
                }
            }
            //必须要选择了有其它并且在数量不等于1的情况下值不为 没有任何属性
            if ((ckb_isororther.Checked && orthercount != 0) && ss != "没有任何属性")
            {
                c.Isororther = "有";
            }
            else
            {
                c.Isororther = "无";
            }

            c.IsXiangXiupdate();
            #endregion

            #region 循环添加颜色
            if (c.Isorcolor == "有")
            {
                //首先删除所有颜色,然后再插入
                string sqldecolor = "delete comcolor where comid = " + dangqianid;//先删除颜色
                sqlHelper.ExecuteCommand(sqldecolor, CommandType.Text, null);

                commditycolor.Clear();//首先清除颜色的集合
                foreach (Control item in pan_iscolor.Controls)
                {
                    if (item is CheckBox)
                    {
                        CheckBox ck = (CheckBox)item;
                        if (ck.Checked)
                        {
                            commditycolor.Add(ck.Text);
                        }
                    }
                }
                foreach (var item in commditycolor)
                {
                    comcolor co = new comcolor();
                    co.Comid = int.Parse(dangqianid);
                    co.Color = item.ToString();
                    co.insertcolor();//执行插入
                }
            }
            else
            {
                //既然没有颜色那么就要删除掉数据库中的所有颜色
                string sqldecolor = "delete comcolor where comid = " + dangqianid;//先删除颜色
                sqlHelper.ExecuteCommand(sqldecolor, CommandType.Text, null);
            }

            #endregion
            #region 循环添加其它
            if (c.Isororther == "有")
            {
                //首先删除所有其它,然后再插入
                string sqldeorhter = "delete comorther where comid = " + dangqianid;//再删除其它
                sqlHelper.ExecuteCommand(sqldeorhter, CommandType.Text, null);

                commdityorther.Clear();
                foreach (var item in list_orther.Items)
                {
                    if (item.ToString().Trim() != string.Empty)
                    {
                        commdityorther.Add(item.ToString().Trim());
                    }
                }
                foreach (var item in commdityorther)
                {
                    comorther ct = new comorther();
                    ct.Comid  = int.Parse(dangqianid);
                    ct.Orther = item;
                    ct.insertorther();
                }
            }
            else
            {
                //既然没有其它那么就要把其它从数据库中清空
                string sqldeorhter = "delete comorther where comid = " + dangqianid;//再删除其它
                sqlHelper.ExecuteCommand(sqldeorhter, CommandType.Text, null);
            }
            #endregion
        }
        /// <summary>
        /// 返回一个带商品的pannel显示在窗体
        /// </summary>
        void yigecom(int rows)
        {
            //comid	username	name	shoujia	kuadi	kucun	isbaoyou	yuexiaoliang	adddatetime	scd	isorcolor	isororther	xiangxi	picda	pic1	pic2	pic3
            commodity commodity = new commodity();
            DataTable d         = commodity.allcommodity();

            Panel pn = new Panel();//负责装一个商品

            Controls.Add(pn);
            pn.BorderStyle = BorderStyle.FixedSingle;
            //pn.Location = new Point(20, 20);
            pn.Location = new_pannel_location;//使用最新的pannel
            pn.Size     = new Size(400, 140);

            PictureBox picda = new PictureBox();//商品的大图片

            picda.SizeMode    = PictureBoxSizeMode.Zoom;
            picda.Size        = new Size(100, 100);
            picda.Location    = new Point(20, 20);
            picda.BorderStyle = BorderStyle.FixedSingle;
            pn.Controls.Add(picda);
            sqlHelper.imagechu(d.Rows[rows]["picda"], picda); //显示出图片

            Label name = new Label();                         //商品

            name.Text     = "商品:" + d.Rows[rows]["name"].ToString();
            name.Location = new Point(picda.Location.X + picda.Width + 50, picda.Location.Y + 20);
            pn.Controls.Add(name);            //位置等于图片框的x坐标加上大图片宽家20像素,加图宽是因为它要显示在图片的右边,必须超出来,y坐标就是大图片框的y坐标加20

            Label yuexiaoliang = new Label(); //月销量

            yuexiaoliang.Text     = "月销:" + d.Rows[rows]["yuexiaoliang"].ToString();
            yuexiaoliang.Location = new Point(name.Location.X, name.Location.Y + name.Height);
            pn.Controls.Add(yuexiaoliang);

            Label shoujia = new Label();//售价

            shoujia.Text     = "售价:" + d.Rows[rows]["shoujia"].ToString();
            shoujia.Location = new Point(name.Location.X, yuexiaoliang.Location.Y + yuexiaoliang.Height);
            pn.Controls.Add(shoujia);

            Label kuadi = new Label();//快递

            kuadi.Text     = "快递:" + d.Rows[rows]["kuadi"].ToString();
            kuadi.Location = new Point(name.Location.X + name.Width + 5, name.Location.Y);//开始第二行了,所有y直接用商品名的y
            pn.Controls.Add(kuadi);
            //comid	username isbaoyou adddatetime isorcolor	isororther	xiangxi	pic1	pic2	pic3

            Label kucun = new Label();//库存

            kucun.Text     = "库存:" + d.Rows[rows]["kucun"].ToString();
            kucun.Location = new Point(kuadi.Location.X, kuadi.Location.Y + kuadi.Height);
            pn.Controls.Add(kucun);

            Label scd = new Label();//生产地

            scd.Text     = "产地:" + d.Rows[rows]["scd"].ToString();
            scd.Location = new Point(kucun.Location.X, kucun.Location.Y + kucun.Height);
            pn.Controls.Add(scd);

            new_pannel_location = pn.Location;                                            //记录下最新的location
            //Point ppp = new Point(panpo.X, panpo.Y + pn.Height + 20);//y轴加pannel高加20作为下一个pannel的位置
            Point ppp = new Point(new_pannel_location.X, pn.Location.Y + pn.Height + 20); //y轴加pannel高加20作为下一个pannel的位置

            new_pannel_location = ppp;                                                    //这里不能直接new新位置所以只能用赋值的方式进行

            Label p = new Label();

            p.Text = d.Rows[rows]["comid"].ToString();
            pn.Controls.Add(p);
            p.Size     = new Size(1000, 1000);
            p.Location = new Point(pn.Location.X - 100, pn.Location.Y - 100);


            pn.Name   = d.Rows[rows]["comid"].ToString();
            pn.Click += new EventHandler(pn_Click);

            pn.BackColor      = Color.Transparent;
            picda.BorderStyle = BorderStyle.None;



            foreach (Control item in pn.Controls)
            {
                item.Name   = d.Rows[rows]["comid"].ToString();
                item.Click += new EventHandler(pn_Click);
            }
        }
        /// <summary>
        /// 返回一个带商品的pannel显示在窗体
        /// </summary>
        void yigecom1(int rows1)
        {
            //comid	username	name	shoujia	kuadi	kucun	isbaoyou	yuexiaoliang	adddatetime	scd	isorcolor	isororther	xiangxi	picda	pic1	pic2	pic3
            commodity commodity1 = new commodity();
            DataTable d1         = commodity1.allcommodity();

            Panel pn1 = new Panel();//负责装一个商品

            Controls.Add(pn1);
            pn1.BorderStyle = BorderStyle.FixedSingle;
            //pn.Location = new Point(20, 20);
            pn1.Location = new_pannel2_location;//使用最新的pannel
            pn1.Size     = new Size(400, 140);

            PictureBox picda1 = new PictureBox();//商品的大图片

            picda1.SizeMode    = PictureBoxSizeMode.Zoom;
            picda1.Size        = new Size(100, 100);
            picda1.Location    = new Point(20, 20);
            picda1.BorderStyle = BorderStyle.FixedSingle;
            pn1.Controls.Add(picda1);
            sqlHelper.imagechu(d1.Rows[rows1]["picda"], picda1); //显示出图片

            Label name1 = new Label();                           //商品

            name1.Text     = "商品:" + d1.Rows[rows1]["name"].ToString();
            name1.Location = new Point(picda1.Location.X + picda1.Width + 50, picda1.Location.Y + 20);
            pn1.Controls.Add(name1);           //位置等于图片框的x坐标加上大图片宽家20像素,加图宽是因为它要显示在图片的右边,必须超出来,y坐标就是大图片框的y坐标加20

            Label yuexiaoliang1 = new Label(); //月销量

            yuexiaoliang1.Text     = "月销:" + d1.Rows[rows1]["yuexiaoliang"].ToString();
            yuexiaoliang1.Location = new Point(name1.Location.X, name1.Location.Y + name1.Height);
            pn1.Controls.Add(yuexiaoliang1);

            Label shoujia1 = new Label();//售价

            shoujia1.Text     = "售价:" + d1.Rows[rows1]["shoujia"].ToString();
            shoujia1.Location = new Point(name1.Location.X, yuexiaoliang1.Location.Y + yuexiaoliang1.Height);
            pn1.Controls.Add(shoujia1);

            Label kuadi1 = new Label();//快递

            kuadi1.Text     = "快递:" + d1.Rows[rows1]["kuadi"].ToString();
            kuadi1.Location = new Point(name1.Location.X + name1.Width + 5, name1.Location.Y);//开始第二行了,所有y直接用商品名的y
            pn1.Controls.Add(kuadi1);
            //comid	username isbaoyou adddatetime isorcolor	isororther	xiangxi	pic1	pic2	pic3

            Label kucun1 = new Label();//库存

            kucun1.Text     = "库存:" + d1.Rows[rows1]["kucun"].ToString();
            kucun1.Location = new Point(kuadi1.Location.X, kuadi1.Location.Y + kuadi1.Height);
            pn1.Controls.Add(kucun1);

            Label scd1 = new Label();//生产地

            scd1.Text     = "产地:" + d1.Rows[rows1]["scd"].ToString();
            scd1.Location = new Point(kucun1.Location.X, kucun1.Location.Y + kucun1.Height);
            pn1.Controls.Add(scd1);

            new_pannel2_location = pn1.Location;                                              //记录下最新的location
            //Point ppp = new Point(panpo.X, panpo.Y + pn.Height + 20);//y轴加pannel高加20作为下一个pannel的位置
            Point ppp1 = new Point(new_pannel2_location.X, pn1.Location.Y + pn1.Height + 20); //y轴加pannel高加20作为下一个pannel的位置

            new_pannel2_location = ppp1;                                                      //这里不能直接new新位置所以只能用赋值的方式进行

            pn1.BackColor      = Color.Transparent;
            picda1.BorderStyle = BorderStyle.None;
        }
        private void btn_updata_Click(object sender, EventArgs e)//点击了修改的按钮
        {
            string    sql = "select comid,name,shoujia,kuadi,kucun,isbaoyou from commodity";
            DataTable d   = sqlHelper.ExecutedataTable(sql, CommandType.Text, null);

            //dgv_yulan.DataSource = d;
            if (d.Rows.Count == 0)//如果删除的没有数据了那么就要清空,不然点击修改会出错
            {
                btn_clear_Click(sender, e);
                DialogResult result = MessageBox.Show("没有可以供修改的商品,你想要添加商品吗?", "删除提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result == DialogResult.Yes)
                {
                    btn_addcommodity_Click(sender, e);//执行添加商品的按钮
                }
                return;
            }


            #region xin值
            xin = string.Empty;

            foreach (Control item in Controls)
            {
                if (item is TextBox)
                {
                    xin += item.Text;
                }
                if (item is ComboBox)
                {
                    xin += item.Text;
                }
                if (item is RadioButton)
                {
                    RadioButton r = (RadioButton)item;
                    if (r.Checked)
                    {
                        xin += r.Text;
                    }
                }
                if (item is DateTimePicker)
                {
                    xin += item.Text;
                }
            }
            #endregion

            //if (xin == lao)
            //{
            //    MessageBox.Show("你没有修改任何数据");
            //    return;
            //}

            //判断金额是否填写正确
            try
            {
                Convert.ToDecimal(txt_shoujia.Text);

                string sj   = txt_shoujia.Text;         //获取到售价
                int    dian = sj.IndexOf(".");          //找到了就获取到 . 的索引

                if (dian != -1 && sj.Length - dian > 2) //找到了点 并且  价格的长度减去.的索引 > 2
                {
                    MessageBox.Show("小数位不能超过1位", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    txt_shoujia.Focus();
                    txt_shoujia.SelectAll();
                    return;
                }
            }
            catch
            {
                MessageBox.Show("请输入正确的金额", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txt_shoujia.Focus();
                txt_shoujia.SelectAll();
                return;
            }

            //判断库存数是否填写正确
            try
            {
                Convert.ToInt32(txt_kucun.Text);
            }
            catch
            {
                MessageBox.Show("请输入包括0-9之间的数字", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txt_kucun.Focus();
                txt_kucun.SelectAll();
                return;
            }

            //判断月销量是否填写正确
            try
            {
                Convert.ToInt32(txt_yuexiaoliang.Text);
            }
            catch
            {
                MessageBox.Show("请输入包括0-9之间的数字", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txt_yuexiaoliang.Focus();
                txt_yuexiaoliang.SelectAll();
                return;
            }

            commodity c = new commodity();
            c.Name         = txt_name.Text;
            c.Comid        = int.Parse(lab_id.Text);
            c.Shoujia      = Convert.ToDecimal(txt_shoujia.Text);
            c.Kuadi        = cmb_kuaidi.Text;
            c.Kucun        = int.Parse(txt_kucun.Text);
            c.Isbaoyou     = rad_shi.Checked == true ? "是" : "否";
            c.Yuexiaoliang = int.Parse(txt_yuexiaoliang.Text);
            c.Adddatetime  = dtp_addtime.Value;
            c.Scd          = txt_scd.Text;

            c.Username = uname;

            c.IsYuLanupdate();


            MessageBox.Show("修改成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

            #region lao值
            lao = string.Empty;
            foreach (Control item in Controls)
            {
                if (item is TextBox)
                {
                    lao += item.Text;
                }
                if (item is ComboBox)
                {
                    lao += item.Text;
                }
                if (item is RadioButton)
                {
                    RadioButton r = (RadioButton)item;
                    if (r.Checked)
                    {
                        lao += r.Text;
                    }
                }
                if (item is DateTimePicker)
                {
                    lao += item.Text;
                }
            }
            #endregion

            update_dgv();
        }