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