Class ViewCollection
Contents
[
Hide
]ViewCollection class
Contains a list of View
objects. Implements ICollection<View> interface.
public class ViewCollection : ICollection<View>
Properties
Name | Description |
---|---|
Count { get; } | Gets the number of elements contained in this collection. |
IsReadOnly { get; } | Gets a value indicating whether this collection is read-only; otherwise, false. |
ParentProject { get; } | Gets the parent of the View object. Read-only Project . |
Methods
Name | Description |
---|---|
Add(View) | Adds the specified item to this collection. |
Clear() | Removes all items from this collection. |
Contains(View) | Returns true if the specified item is found in this collection; otherwise, false. |
CopyTo(View[], int) | Copies the elements of this collection to the specified array, starting at the specified array index. |
GetByName(string) | Searches for a View with the name, and returns the first occurrence within the collection. |
GetByViewScreen(ViewScreen) | Searches for a View with the specified Screen property, and returns the first occurrence within the collection. |
GetEnumerator() | Returns an enumerator for this collection. |
Remove(View) | Removes the first occurrence of a specific object from this collection. |
ToList() | Converts a view collection to a list of View objects. |
Examples
Shows how to work with view collections.
var project = new Project(DataDir + "Project1.mpp");
// convert to a plain list of views
List<View> list = project.Views.ToList();
for (var index = 0; index < list.Count; index++)
{
var viewToChange = list[index];
viewToChange.PageInfo.Header.CenteredText = "Header " + index;
}
// add a new view
var view = new GanttChartView();
if (!project.Views.IsReadOnly)
{
project.Views.Add(view);
}
// iterate over views
Console.WriteLine("Iterate over views of " + project.Views.ParentProject.Get(Prj.Name) + " project.");
Console.WriteLine("Project view count: " + project.Views.Count);
Console.WriteLine();
foreach (var projectView in project.Views)
{
Console.WriteLine("Name: " + projectView.Name);
}
// remove all views at once
project.Views.Clear();
// or one by one
{
// approach 1
List<View> listToDelete = project.Views.ToList();
foreach (var v in listToDelete)
{
if (project.Views.Contains(v))
{
project.Views.Remove(v);
}
}
}
{
// approach 2
var array = new View[project.Views.Count];
project.Views.CopyTo(array, 0);
foreach (var v in array)
{
if (project.Views.Contains(v))
{
project.Views.Remove(v);
}
}
}
See Also
- class View
- namespace Aspose.Tasks
- assembly Aspose.Tasks