View |
Groups schedule header cells.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

Parameters

Exception | Condition |
---|---|
ArgumentException | Headers could not be grouped. |
ArgumentNullException | A non-optional argument was null |

public static void CreateSingleCategoryScheduleWithGroupedColumnHeaders(Document doc)
{
using (Transaction t = new Transaction(doc, "Create single-category with grouped column headers"))
{
// Build the schedule
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();
// Group the headers in the body section using ViewSchedule methods
vs.GroupHeaders(0, 0, 0, 1, "Size");
vs.GroupHeaders(0, 2, 0, 3, "Other");
vs.GroupHeaders(0, 0, 0, 3, "All");
t.Commit();
}
}
/// <summary>
/// Adds a single parameter field to the schedule
/// </summary>
public static void AddRegularFieldToSchedule(ViewSchedule schedule, ElementId paramId)
{
ScheduleDefinition definition = schedule.Definition;
// Find a matching SchedulableField
SchedulableField schedulableField =
definition.GetSchedulableFields().FirstOrDefault<SchedulableField>(sf => sf.ParameterId == paramId);
if (schedulableField != null)
{
// Add the found field
definition.AddField(schedulableField);
}
}
