{ "type": "class",
  "qname": "spark.components.DataGroup",
  "baseClassname": "spark.components.supportClasses.GroupBase"
  ,
    "description": "The DataGroup class is the base container class for data items. The DataGroup class converts data items to visual elements for display. While this container can hold visual elements, it is often used only to hold data items as children.  <p>The DataGroup class takes as children data items or visual elements that implement the IVisualElement interface and are DisplayObjects. Data items can be simple data items such String and Number objects, and more complicated data items such as Object and XMLNode objects. While these containers can hold visual elements, they are often used only to hold data items as children.</p>  <p>An item renderer defines the visual representation of the data item in the container. The item renderer converts the data item into a format that can be displayed by the container. You must pass an item renderer to a DataGroup container to render data items appropriately.</p>  <p>To improve performance and minimize application size, the DataGroup container cannot be skinned. If you want to apply a skin, use the SkinnableDataContainer instead. </p>  <p>The DataGroup container has the following default characteristics:</p> <table class=&quot;innertable&quot;> <tr><th>Characteristic</th><th>Description</th></tr> <tr><td>Default size</td><td>Large enough to display its children</td></tr> <tr><td>Minimum size</td><td>0 pixels</td></tr> <tr><td>Maximum size</td><td>10000 pixels wide and 10000 pixels high</td></tr> </table>   <p>The <code>&lt;s:DataGroup&gt;</code> tag inherits all of the tag attributes of its superclass and adds the following tag attributes:</p>  <pre>\\n &lt;s:DataGroup\\n <strong>Properties</strong>\\n dataProvider=&quot;null&quot;\\n itemRenderer=&quot;null&quot;\\n itemRendererFunction=&quot;null&quot;\\n typicalItem=&quot;null&quot;\\n \\n <strong>Events</strong>\\n rendererAdd=&quot;<i>No default</i>&quot;\\n rendererRemove=&quot;<i>No default</i>&quot;\\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "includeExample",
         "values": ["examples/DataGroupExample.mxml"]},
      {  "tagName": "see",
         "values": ["spark.components.SkinnableDataContainer", "spark.components.Group", "spark.skins.spark.DefaultItemRenderer", "spark.skins.spark.DefaultComplexItemRenderer"]},
      {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 1.5"]},
      {  "tagName": "mxml",
         "values": []},
      {  "tagName": "productversion",
         "values": ["Flex 4"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "spark.components.DataGroup",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.core.IBead",
        "qname": "presentationModel",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The presentation model for the list.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.IListPresentationModel"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.core.IFactory",
        "qname": "itemRenderer",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The item renderer to use for data items. The class must implement the IDataRenderer interface. If defined, the <code>itemRendererFunction</code> property takes precedence over this property.",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.collections.IList",
        "qname": "dataProvider",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The data provider for this DataGroup. It must be an IList.  <p>There are several IList implementations included in the Flex framework, including ArrayCollection, ArrayList, and XMLListCollection.</p>",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "see",
               "values": ["#itemRenderer", "#itemRendererFunction", "mx.collections.IList", "mx.collections.ArrayCollection", "mx.collections.ArrayList", "mx.collections.XMLListCollection"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["mx.collections.IList"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
