public DocItemDefinitionDTO getItem(DocItemDefinitionDTO dto, string controlName) { if (dto!=null && dto.child!=null && dto.child.Count>0) { foreach (DocItemDefinitionDTO item in dto.child) { if (item.ControlName == controlName) { return item; } } } return null; }
public void addElement(DocItemDefinitionDTO dto, XmlElement element) { dto.Name = element.GetAttribute("name"); dto.ControlName = element.GetAttribute("controlName"); dto.ControlType = element.GetAttribute("controlType"); dto.DataPath = element.GetAttribute("dataPath"); foreach (XmlElement node in element.ChildNodes) { if (node.NodeType == XmlNodeType.Element) { XmlElement ele = (XmlElement)node; DocItemDefinitionDTO childDto = new DocItemDefinitionDTO(); addElement(childDto, ele); dto.child.Add(childDto); } } }
public void addElement(XmlElement element) { DocItemDefinitionDTO dto = new DocItemDefinitionDTO(); addElement(dto, element); itemList.Add(dto); }
private int setRichTextContentBoxControl(DocItemDefinitionDTO item, MSWord.ContentControl control) { control.Range.Font.Underline = MSWord.WdUnderline.wdUnderlineSingle; string a1 = "Trans Curr: $taskNo$ " + "RMB" + " Settle Curr:" + "HKD" + " ACCR " + "6.5" + " %"; string a2 = a1 + "\r\a" + a1 + "\r\a" + a1; if ("RichText".Equals(item.ControlType)) { XmlNode node = dataDoc.SelectSingleNode(item.DataPath); if (node != null) { control.Range.FormattedText.Text = node.InnerText; return 1; } } else if ("ListItem".Equals(item.ControlType)) { string template = control.Range.Text; Regex myRegex = new Regex("\\$\\w+\\$", RegexOptions.IgnoreCase); if (myRegex.IsMatch(template)) { MatchCollection myMatch = myRegex.Matches(template); XmlNodeList nodes = dataDoc.SelectNodes(item.DataPath); if (nodes != null && nodes.Count > 0) { string[] resultStrs = new string[nodes.Count]; for (int i = 0; i < nodes.Count; i++) { resultStrs[i] = template; XmlNode node = nodes[i]; if (node != null) { foreach (Match match in myMatch) { string itemName = match.Value; DocItemDefinitionDTO item2 = definitionDTO.getItem(item, itemName.Substring(1, itemName.Length - 2)); if (item2 != null) { XmlNode nodeChild = node.SelectSingleNode(item2.DataPath); if (nodeChild != null) { resultStrs[i] = resultStrs[i].Replace(itemName, nodeChild.InnerText); } } } } } string resultStr = ""; foreach (string result in resultStrs) { resultStr += result + "\r\a"; } control.Range.Text = resultStr; } } } return 0; }
private int setLabelControl(DocItemDefinitionDTO item, Microsoft.Vbe.Interop.Forms.Label control) { if ("Label".Equals(item.ControlType)) { XmlNode node = dataDoc.SelectSingleNode(item.DataPath); if (node != null) { control.Caption = node.InnerText; return 1; } } return 0; }
private int setCheckBoxControl(DocItemDefinitionDTO item, Microsoft.Vbe.Interop.Forms.CheckBox control) { if ("CheckBox".Equals(item.ControlType)) { XmlNode node = dataDoc.SelectSingleNode(item.DataPath); if (node != null) { if ("true".Equals(node.InnerText,StringComparison.CurrentCultureIgnoreCase)) { control.set_Value(true); } else { control.set_Value(false); } return 1; } } return 0; }