示例#1
0
 void dgv采购订单_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
     {
         int id = Convert.ToInt32(dgv采购订单["ID", e.RowIndex].Value);
         mySystem.Process.Order.采购订单 form = new mySystem.Process.Order.采购订单(mainform, id);
         form.Show();
     }
 }
示例#2
0
        private void btn采购订单添加_Click(object sender, EventArgs e)
        {
            // 获取有未采购信息的供应商名字,和要采购的数量


            DataTable dt未采购批准单详细信息, dt未采购借用单详细信息;
            Hashtable ht供应商2详细信息条数, ht供应商2详细信息;

            dt未采购批准单详细信息 = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter("select * from 采购批准单详细信息 where 状态='未采购'", mySystem.Parameter.conn);

            da.Fill(dt未采购批准单详细信息);

            ht供应商2详细信息   = new Hashtable();
            ht供应商2详细信息条数 = new Hashtable();
            foreach (DataRow dr in dt未采购批准单详细信息.Rows)
            {
                int id = Convert.ToInt32(dr["采购批准单ID"]);
                da = new SqlDataAdapter("select * from 采购批准单 where ID=" + id, mySystem.Parameter.conn);
                DataTable tmp = new DataTable();
                da.Fill(tmp);
                if (tmp.Rows.Count == 0)
                {
                    MessageBox.Show("采购批准单数据错误,请检查");
                    return;
                }
                string 供应商 = dr["推荐供应商"].ToString();
                if (!ht供应商2详细信息条数.ContainsKey(供应商))
                {
                    ht供应商2详细信息条数[供应商] = 0;
                }
                if (!ht供应商2详细信息.ContainsKey(供应商))
                {
                    ht供应商2详细信息[供应商] = new HashSet <Object>();
                }
                ht供应商2详细信息条数[供应商] = Convert.ToInt32(ht供应商2详细信息条数[供应商]) + 1;
                ((HashSet <Object>)ht供应商2详细信息[供应商]).Add(dr["存货代码"].ToString() + "," + dr["存货名称"].ToString() + "," + dr["规格型号"].ToString() + "," + dr["用途"].ToString());
            }


            dt未采购借用单详细信息 = new DataTable();
            da           = new SqlDataAdapter("select * from 采购批准单借用订单详细信息 where 状态='未采购'", mySystem.Parameter.conn);
            da.Fill(dt未采购借用单详细信息);
            foreach (DataRow dr in dt未采购借用单详细信息.Rows)
            {
                int id = Convert.ToInt32(dr["采购批准单ID"]);
                da = new SqlDataAdapter("select * from 采购批准单 where ID=" + id, mySystem.Parameter.conn);
                DataTable tmp = new DataTable();
                da.Fill(tmp);
                if (tmp.Rows.Count == 0)
                {
                    MessageBox.Show("采购批准单数据错误,请检查");
                    return;
                }
                string 供应商 = dr["推荐供应商"].ToString();
                if (!ht供应商2详细信息条数.ContainsKey(供应商))
                {
                    ht供应商2详细信息条数[供应商] = 0;
                }
                if (!ht供应商2详细信息.ContainsKey(供应商))
                {
                    ht供应商2详细信息[供应商] = new HashSet <Object>();
                }
                ht供应商2详细信息条数[供应商] = Convert.ToInt32(ht供应商2详细信息条数[供应商]) + 1;
                ((HashSet <Object>)ht供应商2详细信息[供应商]).Add(dr["存货代码"].ToString() + "," + dr["存货名称"].ToString() + "," + dr["规格型号"].ToString() + "," + dr["用途"].ToString());
            }



            DataTable dt = new DataTable();

            dt.Columns.Add("ID", Type.GetType("System.String"));
            dt.Columns.Add("供应商", Type.GetType("System.String"));
            dt.Columns.Add("采购项目数量", Type.GetType("System.Int32"));
            int       cnt            = 0;
            Hashtable ht临时供应商ID2详细信息 = new Hashtable();

            foreach (String gys in ht供应商2详细信息条数.Keys.OfType <String>().ToArray <String>())
            {
                DataRow dr = dt.NewRow();
                dr["ID"]            = ++cnt;
                dr["供应商"]           = gys;
                dr["采购项目数量"]        = ht供应商2详细信息条数[gys];
                ht临时供应商ID2详细信息[cnt] = ht供应商2详细信息[gys];
                dt.Rows.Add(dr);
            }
            try
            {
                string ids = mySystem.Other.InputDataGridView.getIDs("", dt, false, ht临时供应商ID2详细信息);
                int    iii;
                if (ids == "" || !Int32.TryParse(ids, out iii))
                {
                    return;
                }
                // 从id里获取供应商信息
                string gys = dt.Select("ID=" + iii)[0]["供应商"].ToString();
                mySystem.Process.Order.采购订单 form = new mySystem.Process.Order.采购订单(mainform, gys);
                form.Show();
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message + "\n" + ee.StackTrace);
            }
        }