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

In This Topic
    FunctionsFilter Class
    In This Topic
    This class represents filter of Function and derived classes. The FunctionsFilter can be accessed as a property of a Page object or can be used as a parameter for DMObjectsFinder. Specifying more than one matching criterion for the filter (for example, the page on which the matching functions must be placed and the category of the matching functions) causes the returned functions to match both conditions.
    Inheritance Hierarchy

    System.Object
       Eplan.EplApi.DataModel.AbstractDMObjectFilter
          Eplan.EplApi.DataModel.StorableObjectsFilter
             Eplan.EplApi.DataModel.PlacementsFilter
                Eplan.EplApi.DataModel.FunctionsFilter

    Syntax
    public class FunctionsFilter : PlacementsFilter 
    public ref class FunctionsFilter : public PlacementsFilter 
    Example
    This example shows how to filter functions by category:
    Project myProject = m_oProject; // A valid project
    Page myPage = myProject.Pages[0]; // A valid Page object
    
    // Use a filter to get only functions with category 'Motor'
    myPage.Filter.FunctionCategory = Eplan.EplApi.Base.Enums.FunctionCategory.Motor;
    
    // Place all functions with category 'Motor' on page myPage
    Function[] functions = myPage.Functions;
    
    // Another way to do the same:
    // Use a filter to get only functions with category 'Motor'
    FunctionsFilter myFunctionsFilter = new FunctionsFilter();
    myFunctionsFilter.FunctionCategory = Eplan.EplApi.Base.Enums.FunctionCategory.Motor;
    myFunctionsFilter.Page = myPage;
    DMObjectsFinder objFinder = new DMObjectsFinder(myProject);
    
    // Place all functions with category 'Motor' on page myPage
    functions = objFinder.GetFunctions(myFunctionsFilter);
    
    
    
    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 PropertyGets/Sets 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. Dafault this property is false.  
    Public PropertyGets/Sets the filter's category  
    Public PropertyGets/Sets if the filtered function should be placed (i.e. should be located on a valid page).  
    Public PropertyGets/Sets the name that was set to this filter.  
    Public PropertyOverridden. Sets the Page that StorableObjects matching the filter must be placed on.  
    Top
    Public Methods
     NameDescription
    Public MethodDestructor for deterministic finalization of FunctionFilter object. (Inherited from Eplan.EplApi.DataModel.AbstractDMObjectFilter)
    Public MethodOverridden. Resets the filter. Filter matches all StorableObjects then.  
    Public MethodOverloaded. Sets the FunctionBasePropertyList that Functions matching the filter must have.  
    Public MethodOverloaded. Sets the FunctionBasePropertyList that identifies the matching Functions.  
    Top
    See Also