Creating the ColumnSetContainer Class
The MXML class you create and reference in the <object> element of your extension definition describes the appearance and data in each column you want to add to the object list view. The class you create must be a subclass of the com.vmware.ui.lists.ColumnSetContainer class.
The ColumnSetContainer class contains an items property, which is an array of ColumnContainer objects. Each ColumnContainer object describes a column, and you must create a ColumnContainer object for each column you want to add to the object list view.
ColumnContainer Object Properties lists the properties you provide when you create a ColumnContainer object.
An object of type com.vmware.ui.lists.ColumnDataSourceInfo. The ColumnDataSourceInfo object contains the object properties that you want to display in the column, and any parameters required in the request for those properties. Typically, you request a single property for each column. However, you can request multiple properties by passing an array of requested property names in the ColumnDataSourceInfo requestedProperties property.
An AdvancedDataGridColumn control that contains the data in the column.
Example: Example Implementation of ColumnSetContainer Class shows an example MXML class that implements a subclass of ColumnSetContainer. In the example, the class is VmColumnSetContainer, as referenced in the extension definition in Example: Example Extension to Virtual Machine Entity List View. The class describes a single column extension to the object list view for Virtual Machine objects.
Example: Example Implementation of ColumnSetContainer Class
<?xml version="1.0" encoding="utf-8"?>
<lists:ColumnSetContainer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:lists="com.vmware.ui.lists.*">
<fx:Script>
<![CDATA[
import mx.resources.ResourceManager;
]]>
</fx:Script>
 
<lists:items>
<lists:ColumnContainer uid="myPlugin.vm.hostName">
<lists:dataInfo>
<lists:ColumnDataSourceInfo requestedProperties="{['hostName']}"/>
</lists:dataInfo>
<lists:component>
<mx:AdvancedDataGridColumn
headerText="{ResourceManager.getInstance().getString(
'com_mySolution_myPlugin_chassisrack',
'vmList.hostNameColumn')}"
dataField="hostName"/>
</lists:component>
</lists:ColumnContainer>
</lists:items>
</lists:ColumnSetContainer>