//�õ����鹤��ֵ�� /// <summary> /// �õ����鹤��ֵ�� /// </summary> /// <param name="a">�ڼ������� ��1��</param> /// <param name="xmlfile">����xml</param> /// <returns>���鹤��ֵ��</returns> public static S_Gongxu_Jianyan_Value GetGongxu_Jianyan_Value(int a,string xmlfile) { S_Gongxu_Jianyan_Value s_value = new S_Gongxu_Jianyan_Value(); s_value.WGJCs = new List<string>(0); s_value.CCJCs = new List<S_CCJC>(0); s_value.JSTJs = new List<S_JSTJ>(0); s_value.FZs = new List<string>(0); try { XmlDocument mydoc = new XmlDocument(); mydoc.Load(xmlfile); string path = "/SYS_3DPPM/Gongyi/Gongxu[" + a.ToString() + "]"; XmlElement xe = (XmlElement)mydoc.SelectSingleNode(path); if (xe.GetAttribute("Type") != E_GongyiNodeType.Gongxu_Jianyan.ToString()) { NXFun.MessageBox("��ѯ������������ʵ���Ͳ�ƥ�䣡"); return s_value; } XmlElement infor = xe.SelectSingleNode("Information") as XmlElement; //�������� s_value.gongxuhao = infor.GetAttribute("gongxuhao"); s_value.gongxumingcheng = infor.GetAttribute("gongxumingcheng"); s_value.shebei = infor.GetAttribute("shebei"); s_value.jiamoju = infor.GetAttribute("jiamoju"); s_value.jizhun = infor.GetAttribute("jizhun"); s_value.yingdu = infor.GetAttribute("yingdu"); s_value.lingjianjiaofu = infor.GetAttribute("lingjianjiaofu"); s_value.zhuangjishiyong = infor.GetAttribute("zhuangjishiyong"); s_value.guanjiangongxu = NXFun.string2bool(infor.GetAttribute("guanjiangongxu")); //��ۼ�� XmlNodeList wgjc_nodes = infor.SelectNodes("WGJC/wgjc"); foreach (XmlElement wgjc_node in wgjc_nodes) { s_value.WGJCs.Add(wgjc_node.GetAttribute("neirong")); } //�ߴ��� XmlNodeList ccjc_nodes = infor.SelectNodes("CCJC/ccjc"); foreach (XmlElement ccjc_node in ccjc_nodes) { S_CCJC s_ccjc = new S_CCJC(); s_ccjc.neirong = ccjc_node.GetAttribute("neirong"); s_ccjc.liangju = ccjc_node.GetAttribute("liangju"); s_ccjc.beizhu = ccjc_node.GetAttribute("beizhu"); s_value.CCJCs.Add(s_ccjc); } //�������� XmlNodeList jstj_nodes = infor.SelectNodes("JSTJ/jstj"); foreach (XmlElement jstj_node in jstj_nodes) { S_JSTJ s_jstj = new S_JSTJ(); s_jstj.neirong = jstj_node.GetAttribute("neirong"); s_jstj.liangju = jstj_node.GetAttribute("liangju"); s_jstj.beizhu = jstj_node.GetAttribute("beizhu"); s_value.JSTJs.Add(s_jstj); } //��ע XmlNodeList fz_nodes = infor.SelectNodes("FZ/fz"); foreach (XmlElement fz_node in fz_nodes) { s_value.FZs.Add(fz_node.GetAttribute("neirong")); } return s_value; } catch (System.Exception ex) { NXFun.MessageBox(ex.Message); return s_value; } }
//更新数据 /// <summary> /// 更新数据 /// </summary> /// <param name="isRead">是从xml读还是写入xml</param> /// <param name="index_a">第几个工序,从1起</param> public void UpdateData(bool isRead, int index_a) { if (isRead) { //读xml到控件 s_value = XML3DPPM.GetGongxu_Jianyan_Value(index_a, XmlFile); //工序属性 dgvGXSX[1, 0].Value = s_value.gongxuhao; dgvGXSX[1, 1].Value = s_value.gongxumingcheng; dgvGXSX[1, 2].Value = s_value.shebei; dgvGXSX[1, 3].Value = s_value.jiamoju; dgvGXSX[1, 4].Value = s_value.jizhun; dgvGXSX[1, 5].Value = s_value.yingdu; dgvGXSX[1, 6].Value = s_value.lingjianjiaofu; dgvGXSX[1, 7].Value = s_value.zhuangjishiyong; chkGJGX.CheckState = s_value.guanjiangongxu ? CheckState.Checked : CheckState.Unchecked; //外观检查 dgvWGJC.Rows.Clear(); for (int i = 0; i < s_value.WGJCs.Count; i++) { dgvWGJC.Rows.Add(); dgvWGJC[1, i].Value = s_value.WGJCs[i]; } //尺寸检查 dgvCCJC.Rows.Clear(); for (int i = 0; i < s_value.CCJCs.Count; i++) { dgvCCJC.Rows.Add(); dgvCCJC[1, i].Value = s_value.CCJCs[i].neirong; dgvCCJC[2, i].Value = s_value.CCJCs[i].liangju; dgvCCJC[3, i].Value = s_value.CCJCs[i].beizhu; } //技术条件 dgvJSTJ.Rows.Clear(); for (int i = 0; i < s_value.JSTJs.Count; i++) { dgvJSTJ.Rows.Add(); dgvJSTJ[1, i].Value = s_value.JSTJs[i].neirong; dgvJSTJ[2, i].Value = s_value.JSTJs[i].liangju; dgvJSTJ[3, i].Value = s_value.JSTJs[i].beizhu; } //附注 dgvFZ.Rows.Clear(); for (int i = 0; i < s_value.FZs.Count; i++) { dgvFZ.Rows.Add(); dgvFZ[1, i].Value = s_value.FZs[i]; } } else { //写入xml s_value = new S_Gongxu_Jianyan_Value(); s_value.WGJCs = new List<string>(0); s_value.CCJCs = new List<S_CCJC>(0); s_value.JSTJs = new List<S_JSTJ>(0); s_value.FZs = new List<string>(0); //工序属性 dgvGXSX.EndEdit(); s_value.gongxuhao = (string)dgvGXSX[1, 0].Value; s_value.gongxumingcheng = (string)dgvGXSX[1, 1].Value; s_value.shebei = (string)dgvGXSX[1, 2].Value; s_value.jiamoju = (string)dgvGXSX[1, 3].Value; s_value.jizhun = (string)dgvGXSX[1, 4].Value; s_value.yingdu = (string)dgvGXSX[1, 5].Value; s_value.lingjianjiaofu = (string)dgvGXSX[1, 6].Value; s_value.zhuangjishiyong = (string)dgvGXSX[1, 7].Value; s_value.guanjiangongxu = chkGJGX.CheckState == CheckState.Checked; //外观检查 dgvWGJC.EndEdit(); foreach (DataGridViewRow row in dgvWGJC.Rows) { if (!row.IsNewRow) { s_value.WGJCs.Add((string)row.Cells[1].Value); } } //尺寸检查 dgvCCJC.EndEdit(); S_CCJC s_ccjc = new S_CCJC(); foreach (DataGridViewRow row in dgvCCJC.Rows) { if (!row.IsNewRow) { s_ccjc.neirong = (string)row.Cells[1].Value; s_ccjc.liangju = (string)row.Cells[2].Value; s_ccjc.beizhu = (string)row.Cells[3].Value; s_value.CCJCs.Add(s_ccjc); } } //技术条件 dgvJSTJ.EndEdit(); S_JSTJ s_jstj = new S_JSTJ(); foreach (DataGridViewRow row in dgvJSTJ.Rows) { if (!row.IsNewRow) { s_jstj.neirong = (string)row.Cells[1].Value; s_jstj.liangju = (string)row.Cells[2].Value; s_jstj.beizhu = (string)row.Cells[3].Value; s_value.JSTJs.Add(s_jstj); } } //附注 dgvFZ.EndEdit(); foreach (DataGridViewRow row in dgvFZ.Rows) { if (!row.IsNewRow) { s_value.FZs.Add((string)row.Cells[1].Value); } } XML3DPPM.SetGongxu_Jianyan_Value(index_a, s_value, XmlFile); } }
// ���ü��鹤��ֵ�� /// <summary> /// ���ü��鹤��ֵ�� /// </summary> /// <param name="a"></param> /// <param name="s_value"></param> /// <param name="xmlfile"></param> /// <returns></returns> public static bool SetGongxu_Jianyan_Value(int a, S_Gongxu_Jianyan_Value s_value, string xmlfile) { try { XmlDocument mydoc = new XmlDocument(); mydoc.Load(xmlfile); string path = "/SYS_3DPPM/Gongyi/Gongxu[" + a.ToString() + "]"; XmlElement xe = (XmlElement)mydoc.SelectSingleNode(path); if (xe.GetAttribute("Type") != E_GongyiNodeType.Gongxu_Jianyan.ToString()) { NXFun.MessageBox("�Ĺ�����������ʵ���Ͳ�ƥ�䣡"); return false; } //�������� XmlElement infor = xe.SelectSingleNode("Information") as XmlElement; infor.SetAttribute("gongxuhao", s_value.gongxuhao); infor.SetAttribute("gongxumingcheng", s_value.gongxumingcheng); infor.SetAttribute("shebei", s_value.shebei); infor.SetAttribute("jiamoju", s_value.jiamoju); infor.SetAttribute("jizhun", s_value.jizhun); infor.SetAttribute("yingdu", s_value.yingdu); infor.SetAttribute("lingjianjiaofu", s_value.lingjianjiaofu); infor.SetAttribute("zhuangjishiyong", s_value.zhuangjishiyong); infor.SetAttribute("guanjiangongxu", NXFun.bool2string(s_value.guanjiangongxu)); //��ۼ�� XmlNode wgjc_node = infor.SelectSingleNode("WGJC"); if (wgjc_node != null) { infor.RemoveChild(wgjc_node); } wgjc_node = mydoc.CreateNode(XmlNodeType.Element, "WGJC", null); wgjc_node = infor.AppendChild(wgjc_node); foreach (string wgjc in s_value.WGJCs) { XmlNode wgjc_item = mydoc.CreateNode(XmlNodeType.Element, "wgjc", null); xe = wgjc_node.AppendChild(wgjc_item) as XmlElement; xe.SetAttribute("neirong", wgjc); } //�ߴ��� XmlNode ccjc_node = infor.SelectSingleNode("CCJC"); if (ccjc_node != null) { infor.RemoveChild(ccjc_node); } ccjc_node = mydoc.CreateNode(XmlNodeType.Element, "CCJC", null); ccjc_node = infor.AppendChild(ccjc_node); foreach (S_CCJC s_ccjc in s_value.CCJCs) { XmlNode ccjc_item = mydoc.CreateNode(XmlNodeType.Element, "ccjc", null); xe = ccjc_node.AppendChild(ccjc_item) as XmlElement; xe.SetAttribute("neirong", s_ccjc.neirong); xe.SetAttribute("liangju", s_ccjc.liangju); xe.SetAttribute("beizhu", s_ccjc.beizhu); } //�������� XmlNode jstj_node = infor.SelectSingleNode("JSTJ"); if (jstj_node != null) { infor.RemoveChild(jstj_node); } jstj_node = mydoc.CreateNode(XmlNodeType.Element, "JSTJ", null); jstj_node = infor.AppendChild(jstj_node); foreach (S_JSTJ s_jstj in s_value.JSTJs) { XmlNode jstj_item = mydoc.CreateNode(XmlNodeType.Element, "jstj", null); xe = jstj_node.AppendChild(jstj_item) as XmlElement; xe.SetAttribute("neirong", s_jstj.neirong); xe.SetAttribute("liangju", s_jstj.liangju); xe.SetAttribute("beizhu", s_jstj.beizhu); } //��ע XmlNode fz_node = infor.SelectSingleNode("FZ"); if (fz_node != null) { infor.RemoveChild(fz_node); } fz_node = mydoc.CreateNode(XmlNodeType.Element, "FZ", null); fz_node = infor.AppendChild(fz_node); foreach (string fz in s_value.FZs) { XmlNode fz_item = mydoc.CreateNode(XmlNodeType.Element, "fz", null); xe = fz_node.AppendChild(fz_item) as XmlElement; xe.SetAttribute("neirong", fz); } mydoc.Save(xmlfile); return true; } catch (System.Exception ex) { NXFun.MessageBox(ex.Message); return false; } }