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

PagesFilter Class

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 
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