I have posted another example of a schedule that "clusters" items by room in the Autodesk Architectural Desktop 2005 Discussion Group. In this example, the items being scheduled are Multi-View Blocks representing electrical devices. I created a new Multi-View Block whose view block consists entirely of non-plotting graphics to form the "header rows". The devices in each room, as well as the header row Multi-View Blocks, all have an object-based Property Set Definition attached that includes a location property, so that the room name and number can be read in from the space.
As before, the schedule is sorted first by the room number and then by the ScheduleSortingOrder property, which this time is style-based, in the AllStyles Property Set Definition. That way the sorting number needs only to be assigned once to each Multi-View Block definition and the data is there for all instances. The header row blocks are again assigned a sorting order of 1. Power devices are assigned numbers starting with 11, switches start at 21 and teledata items start at 41. This groups like items together and allows for adding additional devices of a given type later. Obviously, if you were implementing this in the "real world", you would want to work out all the devices you would ever want to schedule, determine the order in which you would want to list them and assign sorting order numbers accordingly.
I made use of a formula property to give the header rows the MTEXT new line code to increase their height as I suggested could be done in the unit spaces post. This property is in the AllStyles Property Set Defintion. I did find that simply returning a value of "\P" in the formula did not work - I added a space character before and after new line code and it worked fine: " \P ".
For this schedule, listing each device separately was not desired, so a quantity column was added. I did not anticipate that the header rows would also get a quantity, and since that column is generated by the program, I can not suppress these. I am not happy with that, and, if this were not just a sample file, I would probably consider making the room number column visible and removing the header rows altogether.
Note also that for this sample, all I listed was the quantity and the Multi-View Block name. Additional properties could be added as columns so long as all devices of the same type display the same information, to keep them all on one line. If you do not want to use the Multi-View Block name as the device name, you can set up a manual property in the AllStyles Property Set Definition to hold the "display name" for each device. Substitute that property for the AllStyles:StyleName reference in the DeviceNameSchedule property in the BlockObjects Property Set Definition to get the manual property to display instead of the block name.