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(); } }
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); } }