コード例 #1
0
ファイル: Form1.cs プロジェクト: JasonDevStudio/IBTS_WORD
 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;
 }
コード例 #2
0
ファイル: Form1.cs プロジェクト: JasonDevStudio/IBTS_WORD
        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);
                }
            }
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: JasonDevStudio/IBTS_WORD
 public void addElement(XmlElement element)
 {
     DocItemDefinitionDTO dto = new DocItemDefinitionDTO();
     addElement(dto, element);
     itemList.Add(dto);
 }
コード例 #4
0
ファイル: Form1.cs プロジェクト: JasonDevStudio/IBTS_WORD
        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;
        }
コード例 #5
0
ファイル: Form1.cs プロジェクト: JasonDevStudio/IBTS_WORD
 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;
 }
コード例 #6
0
ファイル: Form1.cs プロジェクト: JasonDevStudio/IBTS_WORD
 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;
 }