ScheduleDefinitionAddField(SchedulableField) Method |
Adds a regular field at the end of the list.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntaxpublic ScheduleField AddField(
SchedulableField schedulableField
)
Public Function AddField (
schedulableField As SchedulableField
) As ScheduleField
public:
ScheduleField^ AddField(
SchedulableField^ schedulableField
)
member AddField :
schedulableField : SchedulableField -> ScheduleField
Parameters
- schedulableField SchedulableField
-
A SchedulableField object representing the field.
Return Value
ScheduleField
The new field.
ExceptionsException | Condition |
---|
ArgumentException |
The field specified by schedulableField may not included in this ScheduleDefinition.
-or-
The field specified by schedulableField is already included in this ScheduleDefinition.
|
ArgumentNullException |
A non-optional argument was null
|
Example
public void AddFieldToSchedule(Document document, List<ViewSchedule> schedules)
{
using (Transaction transaction = new Transaction(document, "Adding fields to schedule"))
{
transaction.Start();
foreach (ViewSchedule vs in schedules)
{
IList<SchedulableField> schedulableFields = vs.Definition.GetSchedulableFields();
foreach (SchedulableField sf in schedulableFields)
{
bool fieldAlreadyAdded = false;
IList<ScheduleFieldId> ids = vs.Definition.GetFieldOrder();
foreach (ScheduleFieldId id in ids)
{
if (vs.Definition.GetField(id).GetSchedulableField() == sf)
{
fieldAlreadyAdded = true;
break;
}
}
if (fieldAlreadyAdded == false)
{
vs.Definition.AddField(sf);
}
}
}
transaction.Commit();
}
}
Public Sub AddFieldToSchedule(document As Document, schedules As List(Of ViewSchedule))
Using transaction As New Transaction(document, "Adding fields to schedule")
transaction.Start()
For Each vs As ViewSchedule In schedules
Dim schedulableFields As IList(Of SchedulableField) = vs.Definition.GetSchedulableFields()
For Each sf As SchedulableField In schedulableFields
Dim fieldAlreadyAdded As Boolean = False
Dim ids As IList(Of ScheduleFieldId) = vs.Definition.GetFieldOrder()
For Each id As ScheduleFieldId In ids
If vs.Definition.GetField(id).GetSchedulableField() = sf Then
fieldAlreadyAdded = True
Exit For
End If
Next
If fieldAlreadyAdded = False Then
vs.Definition.AddField(sf)
End If
Next
Next
transaction.Commit()
End Using
End Sub
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
See Also