コード例 #1
0
ファイル: List.cs プロジェクト: me-hungry/PDMS
 private void button1_Click(object sender, EventArgs e)
 {
     if (_toogleValue)
     {
         var elements = DesignProxy.GetHashtable("MEMBERS");
         //
         foreach (DictionaryEntry i in elements)
         {
             //string tt = "$p" + i.Key.ToString() + i.Value.ToString();
             string tt = "$p" + i.Value.ToString();
             Aveva.Pdms.Utilities.CommandLine.Command.CreateCommand(tt).RunInPdms();
         }
     }
     textBox1.Text = CurrentElement.Element.ToString();
     //заполнить лист
     listBox1.Items.Clear();
     //если се бран
     if (CurrentElement.Element.GetElementType().Equals(DbElementTypeInstance.BRANCH))
     {
         //AttributeRefFilter ownerfilter = new AttributeRefFilter(DbAttributeInstance.OWNER, DbElement.GetElement("/" + branmembers.ToString()));
         AttributeRefFilter ownerfilter = new AttributeRefFilter(DbAttributeInstance.OWNER, DbElement.GetElement(CurrentElement.Element.RefNo()));
         var collection = new DBElementCollection(CurrentElement.Element, ownerfilter);
         foreach (DbElement element in collection)
         {
             //if (element.GetElementType().Equals(DbElementTypeInstance.TUBING))
             //{
             //    listBox1.Items.Add(element);
             //}
             listBox1.Items.Add(element);
         }
     }
     else
     {
         //филтр по имени владельца
         TypeFilter BranFilt = new TypeFilter(DbElementTypeInstance.BRANCH);
         var        BraColl  = new DBElementCollection(CurrentElement.Element, BranFilt);
         foreach (DbElement branmembers in BraColl)
         {
             listBox1.Items.Add("BRAN: " + branmembers);
             //AttributeRefFilter ownerfilter = new AttributeRefFilter(DbAttributeInstance.OWNER, DbElement.GetElement("/" + branmembers.ToString()));
             AttributeRefFilter ownerfilter = new AttributeRefFilter(DbAttributeInstance.OWNER, DbElement.GetElement(branmembers.RefNo()));
             var collection = new DBElementCollection(branmembers, ownerfilter);
             foreach (DbElement element in collection)
             {
                 //if (element.GetElementType().Equals(DbElementTypeInstance.TUBING))
                 //{
                 //    listBox1.Items.Add(element);
                 //}
                 listBox1.Items.Add(element);
             }
         }
     }
     //////////////////
 }
コード例 #2
0
        private DBElementCollection Get_Element_Collection(DbElement Outfit_Elements, DbElementType [] dbtypes, string search_txt, string modulename)
        {
            DBElementCollection result_collection = null;

            try
            {
                TypeFilter filter      = new TypeFilter(dbtypes);
                AndFilter  finalfilter = new AndFilter();

                AttributeStringFilter filter2 = null;
                AttributeRefFilter    filter3 = null;

                if (search_txt.StartsWith("*") && search_txt.EndsWith("*"))
                {
                    filter2 = new AttributeStringFilter(DbAttribute.GetDbAttribute("NamN"), FilterOperator.EndsWith, search_txt.Replace("*", ""));
                }
                else if (search_txt.EndsWith("*") && !search_txt.StartsWith("*"))
                {
                    filter2 = new AttributeStringFilter(DbAttribute.GetDbAttribute("NamN"), FilterOperator.StartsWith, search_txt.Replace("*", ""));
                }
                else if (search_txt.StartsWith("*") && search_txt.EndsWith("*"))
                {
                    filter2 = new AttributeStringFilter(DbAttribute.GetDbAttribute("NamN"), FilterOperator.Contains, search_txt.Replace("*", ""));
                }
                else
                {
                    filter2 = new AttributeStringFilter(DbAttribute.GetDbAttribute("NamN"), FilterOperator.Equals, search_txt.Replace("*", ""));
                }
                if (modulename.Trim() != "")
                {
                    filter3 = new AttributeRefFilter(DbAttributeInstance.OWNER, FilterOperator.Equals, DbElement.GetElement("/" + modulename));
                    finalfilter.Add(filter3);
                }

                finalfilter.Add(filter);
                finalfilter.Add(filter2);


                result_collection = new DBElementCollection(Outfit_Elements, finalfilter);
            }

            catch (Exception ee)
            {
                Console.WriteLine("오류");
            }

            return(result_collection);
        }