TableFieldCollection Class

Contains a list of TableField objects. Implements IList<TableField> interface.
Inheritance Hierarchy
SystemObject
  Aspose.TasksTableFieldCollection

Namespace:  Aspose.Tasks
Assembly:  Aspose.Tasks (in Aspose.Tasks.dll) Version: 21.10
Syntax
public class TableFieldCollection : IList<TableField>, 
	ICollection<TableField>, IEnumerable<TableField>, IEnumerable

The TableFieldCollection type exposes the following members.

Properties
  NameDescription
Public propertyCode exampleCount
Gets the number of elements contained in this collection.
Public propertyCode exampleIsReadOnly
Gets a value indicating whether this collection is read-only; otherwise, false.
Public propertyCode exampleItem
Returns or sets the element at the specified index.
Public propertyCode exampleParentProject
Gets the parent of the TableFields object. Read-only Project.
Methods
  NameDescription
Public methodCode exampleAdd
Adds the specified item to this collection.
Public methodCode exampleClear
Removes all items from this collection.
Public methodCode exampleContains
Returns true if the specified item is found in this collection; otherwise, false.
Public methodCode exampleCopyTo
Copies the elements of this collection to the specified array, starting at the specified array index.
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodCode exampleGetEnumerator
Returns an enumerator for this collection.
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Public methodCode exampleIndexOf
Determines the index of the specified item in this collection.
Public methodCode exampleInsert
Inserts the specified item at the specified index.
Protected methodMemberwiseClone (Inherited from Object.)
Public methodCode exampleRemove
Removes the first occurrence of a specific object from this collection.
Public methodCode exampleRemoveAt
Removes an item at the specified index.
Public methodToString (Inherited from Object.)
Examples
Shows how to work with table field collections.
var project = new Project(DataDir + "Project1.mpp");

foreach (var tbl in project.Tables)
{
    Console.WriteLine("Table name: " + tbl.Name);
    Console.WriteLine("Is collection of table fields read-only?: " + tbl.TableFields.IsReadOnly);

    // iterate over table fields
    Console.WriteLine("Print table fields of " + tbl.TableFields.ParentProject.Get(Prj.Name) + " project.");
    Console.WriteLine("Table count: " + tbl.TableFields.Count);
    foreach (var fld in tbl.TableFields)
    {
        Console.WriteLine("Field Title: " + fld.Title);
        Console.WriteLine("Field Field: " + fld.Field);
        Console.WriteLine();
    }
}

// add a new table field
var table = project.Tables.ToList()[0];
var field = new TableField();
field.Title = "New Table Field";
table.TableFields.Add(field);

var field2 = new TableField();
field2.Title = "New Table Field 2";

// insert a new field in the position
var idx = table.TableFields.IndexOf(field);
table.TableFields.Insert(idx, field2);

// lets edit the new table field by using index access
table.TableFields[idx].WrapHeader = true;

Console.WriteLine("The collection contains the new table field?: " + table.TableFields.Contains(field));

// lately we can remove the field
table.TableFields.RemoveAt(idx);

// one can clear the collection in two ways
if (deleteOneByOne)
{
    // copy table fields into the array and delete them one by one
    var tableFields = new TableField[table.TableFields.Count];
    table.TableFields.CopyTo(tableFields, 0);
    foreach (var fld in tableFields)
    {
        table.TableFields.Remove(fld);
    }
}
else
{
    // or one can clear a table field collection completely
    table.TableFields.Clear();
}
See Also