Groups schedule header cells.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 21.0.0.0 (21.1.1.109)
Since:
2014
Syntax
C# |
---|
public void GroupHeaders(
int top,
int left,
int bottom,
int right,
string caption
) |
Visual Basic |
---|
Public Sub GroupHeaders ( _
top As Integer, _
left As Integer, _
bottom As Integer, _
right As Integer, _
caption As String _
) |
Visual C++ |
---|
public:
void GroupHeaders(
int top,
int left,
int bottom,
int right,
String^ caption
) |
Parameters
- top
- Type: System..::..Int32
The index of the top row of the selected headers.
- left
- Type: System..::..Int32
The index of the left column of the selected headers.
- bottom
- Type: System..::..Int32
The index of the bottom row of the selected headers.
- right
- Type: System..::..Int32
The index of the right column of the selected headers.
- caption
- Type: System..::..String
The header caption.
Examples
CopyC#
public static void CreateSingleCategoryScheduleWithGroupedColumnHeaders(Document doc)
{
using (Transaction t = new Transaction(doc, "Create single-category with grouped column headers"))
{
t.Start();
ViewSchedule vs = ViewSchedule.CreateSchedule(doc, new ElementId(BuiltInCategory.OST_Windows));
AddRegularFieldToSchedule(vs, new ElementId(BuiltInParameter.WINDOW_HEIGHT));
AddRegularFieldToSchedule(vs, new ElementId(BuiltInParameter.WINDOW_WIDTH));
AddRegularFieldToSchedule(vs, new ElementId(BuiltInParameter.ALL_MODEL_MARK));
AddRegularFieldToSchedule(vs, new ElementId(BuiltInParameter.ALL_MODEL_COST));
doc.Regenerate();
vs.GroupHeaders(0, 0, 0, 1, "Size");
vs.GroupHeaders(0, 2, 0, 3, "Other");
vs.GroupHeaders(0, 0, 0, 3, "All");
t.Commit();
}
}
public static void AddRegularFieldToSchedule(ViewSchedule schedule, ElementId paramId)
{
ScheduleDefinition definition = schedule.Definition;
SchedulableField schedulableField =
definition.GetSchedulableFields().FirstOrDefault<SchedulableField>(sf => sf.ParameterId == paramId);
if (schedulableField != null)
{
definition.AddField(schedulableField);
}
}
CopyVB.NET
Public Shared Sub CreateSingleCategoryScheduleWithGroupedColumnHeaders(doc As Document)
Using t As New Transaction(doc, "Create single-category with grouped column headers")
t.Start()
Dim vs As ViewSchedule = ViewSchedule.CreateSchedule(doc, New ElementId(BuiltInCategory.OST_Windows))
AddRegularFieldToSchedule(vs, New ElementId(BuiltInParameter.WINDOW_HEIGHT))
AddRegularFieldToSchedule(vs, New ElementId(BuiltInParameter.WINDOW_WIDTH))
AddRegularFieldToSchedule(vs, New ElementId(BuiltInParameter.ALL_MODEL_MARK))
AddRegularFieldToSchedule(vs, New ElementId(BuiltInParameter.ALL_MODEL_COST))
doc.Regenerate()
vs.GroupHeaders(0, 0, 0, 1, "Size")
vs.GroupHeaders(0, 2, 0, 3, "Other")
vs.GroupHeaders(0, 0, 0, 3, "All")
t.Commit()
End Using
End Sub
Public Shared Sub AddRegularFieldToSchedule(schedule As ViewSchedule, paramId As ElementId)
Dim definition As ScheduleDefinition = schedule.Definition
Dim schedulableField As SchedulableField = definition.GetSchedulableFields().FirstOrDefault(Function(sf) sf.ParameterId = paramId)
If schedulableField IsNot Nothing Then
definition.AddField(schedulableField)
End If
End Sub
Exceptions
See Also