Eplan Platform API
Eplan.EplApi.DataModel Namespace / PagesFilter Class
Members Example

In This Topic
    PagesFilter Class
    In This Topic

    This class represents filter of Page and derived from it classes.

    The PagesFilter can be accessed as a property of a Project object or can be used as a parameter for DMObjectsFinder.

    Setting more than one criterion of matching the filter (for example Page.PageType and Page.Name), causes that returned pages must match both conditions.

    Inheritance Hierarchy

    System.Object
       Eplan.EplApi.DataModel.AbstractDMObjectFilter
          Eplan.EplApi.DataModel.PagesFilter

    Syntax
    public class PagesFilter : AbstractDMObjectFilter 
    public ref class PagesFilter : public AbstractDMObjectFilter 
    Example
    Project proj;  //a valid project
    DMObjectsFinder oFinder = new DMObjectsFinder(proj);
    PagesFilter oPagesFilter = new PagesFilter();
    oPagesFilter.Name = @"=AP+ST1";
    oPagesFilter.DocumentType = DocumentTypeManager.DocumentType.Frame;
    Page[] oPages = oFinder.GetPages(oPagesFilter); //now we have all pages with names starting with "=AP+ST1" and type with "DocumentType.Frame"
    The following example shows how to filter by user-defined properties
    Project myProject = m_oProject; // A valid project
    Page myPage = myProject.Pages[0]; // A valid Page object
    
    // Define test property
    MultiLangString mlsTestValue = new MultiLangString();
    mlsTestValue.AddString(ISOCode.Language.L_de_DE, "Test043c");
    string strPropertyIdentyfingName = "Page.Test043c";
    UserDefinedPropertyDefinition oUDPD = UserDefinedPropertyDefinition.Create(myProject, strPropertyIdentyfingName, UserDefinedPropertyDefinition.Enums.ClientType.Page);
    
    // Set test property on myPage
    myPage.Properties[strPropertyIdentyfingName] = mlsTestValue;
    
    // Search page with property value
    DMObjectsFinder objFinder = new DMObjectsFinder(myProject);
    PagesFilter pagesFilter = new PagesFilter();
    PagePropertyList pagePropertyList = new PagePropertyList();
    AnyPropertyId anyPropertyId = new AnyPropertyId(myProject, strPropertyIdentyfingName);
    
    pagePropertyList[anyPropertyId] = mlsTestValue;
    pagesFilter.SetFilteredPropertyList(pagePropertyList);
    Page[] arrPages1 = objFinder.GetPages(pagesFilter);
    
    
    
    Public Constructors
     NameDescription
    Public ConstructorOverloaded.   
    Top
    Public Properties
     NameDescription
    Public PropertyReturns the Page.PageType that was set to this filter.  
    Public PropertyGets if the filtered function, when is filtered by name, should be matched exactly, it means that if searched name is only its name' prefix, it is not matching to the filter.  
    Public PropertyReturns the name that was set to this filter.  
    Top
    Public Methods
     NameDescription
    Public MethodDestructor for deterministic finalization of PagesFilter object. (Inherited from Eplan.EplApi.DataModel.AbstractDMObjectFilter)
    Public MethodOverridden. Resets the filter. Filter matches all Pages then.  
    Public MethodSets the PagePropertyList that Pages matching the filter must have.  
    Top
    See Also