(AIR only)
Packagemx.controls
Classpublic class FileSystemDataGrid
InheritanceFileSystemDataGrid Inheritance DataGrid Inheritance DataGridBase Inheritance ListBase Inheritance ScrollControlBase Inheritance UIComponent Inheritance FlexSprite Inheritance Sprite Inheritance DisplayObjectContainer Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object

The FileSystemDataGrid control lets you display the contents of a single file system directory in a data grid format.

The information displayed for each item consists of its name (with optional generic icon), type, size, creation date, and modification date. To do this, FileSystemDataGrid automatically creates five columns (DataGridColumn instances) -- nameColumn, typeColumn, sizeColumn, creationDateColumn, and modificationDateColumn -- and sets the columns property to an array of these five instances. Each column instance is automatically configured to have an appropriate labelFunction, sortCompareFunction, etc. If you don't want all five columns, or if you want to change the order, reset the columns property. If you want to customize a column, such as by changing its labelFunction, simply reassign that property on the appropriate column object.

To change the displayed data, rather than using the dataProvider property, you set the directory property. The control then automatically populates the dataProvider property by enumerating the contents of that directory. You should not set the dataProvider yourself.

You set the directory property to a File instance, as the following example shows:

<mx:FileSystemDataGrid directory="{File.desktopDirectory}"/>

You can set the enumerationMode property to specify whether to show files, subdirectories, or both. There are three ways to show both: directories first, files first, or intermixed.

You can set the extensions property to filter the displayed items so that only files with the specified extensions appear. The showHidden property determines whether the control displays files and subdirectories that the operating system normally hides. You can specify an additional filterFunction to perform custom filtering, and a nameCompareFunction to perform custom sorting.

Because AIR does not support file system notifications, this control does not automatically refresh if a file or subdirectory is created, deleted, moved, or renamed; in other words, it can display an out-of-date view of the file system. However, you can call refresh() to re-enumerate the current directory. You could, for example, choose to do this when you have performed a file operation that you know causes the control's view to become out-of-date, or when the user deactivates and reactivates your application.

You can use the showIcons property to show or hide icons, and the showExtensions property to show or hide file extensions.

The control provides two methods, findItem() and findIndex(), which you can use to search the displayed files and subdirectories to find the one with a specified nativePath.

Two properties, selectedPath and selectedPaths, work similarly to selectedItem and selectedItems or selectedIndex and selectedIndices, but let you specify the selection via nativePath strings. These are very useful if you need to display a directory with particular items preselected, since in this case you don't yet have the File items that the control will create when it enumerates the directory, and you don't know what their indices will be.

The control allows the user to navigate to other directories using the mouse or keyboard. The user can try to change the directory by double-clicking a subdirectory, by pressing Enter or Ctrl-Down when a subdirectory is selected, by pressing Ctrl-Up when the control isn't displaying the COMPUTER directory, by pressing Ctrl-Left when there is a "previous" directory to navigate back to, or by pressing Ctrl-Right when there is a "next" directory to navigate forward to. If the user attempts to change the directory being displayed, the control dispatches a cancelable directoryChanging event. If you don't cancel this event by calling event.preventDefault(), the control displays the contents of the new directory and the directory property changes. Whenever the directory property changes, for any reason, the controls dispatches a directoryChange event to let you know.

In order to support "Up" and "Down" controls, the FileSystemList has canNavigateUp and canNavigateDown properties and navigateUp() and navigateDown() methods. There is also a navigateTo() for navigating to an arbitrary directory.

The control keeps track of the directories to which the user has navigated, in order to make it easy for you to support "Back" and "Forward" controls. For more information, see the backHistory, forwardHistory, canNavigateBack, and canNavigateForward properties, and the navigateBack() and navigateForward() methods.

Note: The icons displayed for each item are generic file and directory icons which you can set using the fileIcon and directoryIcon styles. Flex's list-based controls currently support displaying only embedded icons, not icons read at runtime. Therefore the actual file system icons displayed in the operating system are not displayed in a FileSystemDataGrid, even though they are accessible in AIR via the icon property of a File.

MXML SyntaxexpandedHide MXML Syntax

The <mx:FileSystemDataGrid> tag inherits all of the tag attributes of its superclass and adds the following tag attributes:

  <mx:FileSystemDataGrid
    Properties
    dateFormatString=""
    directory="null"
    enumerationMode="directoriesFirst"
    extensions="null"
    filterFunction="null"
    nameCompareFunction="null"
    selectedPath="null"
    selectedPaths="null"
    showExtensions="true"
    showHidden="false"
    showIcons="true"
 
    Styles
    directoryIcon="TreeNodeIcon"
    fileIcon="TreeNodeIcon"
 
    Events
    directoryChange="No default"
    directoryChanging="No default"
    fileChoose="No default"
  />
  

See also

flash.filesystem.File


Public Properties
 PropertyDefined By
 InheritedaccessibilityProperties : AccessibilityProperties
The current accessibility options for this display object.
DisplayObject
 InheritedactiveEffects : Array
[read-only] The list of effects that are currently playing on the component, as an Array of EffectInstance instances.
UIComponent
 InheritedallowDragSelection : Boolean = false
A flag that indicates whether drag-selection is enabled.
ListBase
 InheritedallowMultipleSelection : Boolean
A flag that indicates whether you can allow more than one item to be selected at the same time.
ListBase
 Inheritedalpha : Number
Indicates the alpha transparency value of the object specified.
DisplayObject
 InheritedautomationDelegate : Object
The delegate object that handles the automation-related functionality.
UIComponent
 InheritedautomationName : String
Name that can be used as an identifier for this object.
UIComponent
 InheritedautomationTabularData : Object
[read-only] An implementation of the IAutomationTabularData interface, which can be used to retrieve the data.
UIComponent
 InheritedautomationValue : Array
[read-only] This value generally corresponds to the rendered appearance of the object and should be usable for correlating the identifier with the object as it appears visually within the application.
UIComponent
  backHistory : Array
[read-only] An Array of File objects representing directories to which the user can navigate backward.
FileSystemDataGrid
 InheritedbaselinePosition : Number
[read-only] The y-coordinate of the baseline of the first line of text of the component.
UIComponent
 InheritedblendMode : String
A value from the BlendMode class that specifies which blend mode to use.
DisplayObject
 InheritedborderMetrics : EdgeMetrics
[read-only] Returns an EdgeMetrics object that has four properties: left, top, right, and bottom.
ScrollControlBase
 InheritedbuttonMode : Boolean
Specifies the button mode of this sprite.
Sprite
 InheritedcacheAsBitmap : Boolean
If set to true, Flash Player or Adobe AIR caches an internal bitmap representation of the display object.
DisplayObject
 InheritedcacheHeuristic : Boolean
[write-only] Used by Flex to suggest bitmap caching for the object.
UIComponent
 InheritedcachePolicy : String
Specifies the bitmap caching policy for this object.
UIComponent
  canNavigateBack : Boolean
[read-only] A flag which is true if there is at least one directory in the history list to which the user can navigate backward.
FileSystemDataGrid
  canNavigateDown : Boolean
[read-only] A flag which is true if the user can navigate down into a selected directory.
FileSystemDataGrid
  canNavigateForward : Boolean
[read-only] A flag which is true if there is at least one directory in the history list to which the user can navigate forward.
FileSystemDataGrid
  canNavigateUp : Boolean
[read-only] A flag which is true if the user can navigate up to a parent directory.
FileSystemDataGrid
 InheritedclassName : String
[read-only] The name of this instance's class, such as "Button".
UIComponent
 Inheritedcolumns : Array
An array of DataGridColumn objects, one for each column that can be displayed.
DataGrid
 InheritedcolumnWidth : Number
The width of the control's columns.
ListBase
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 InheritedcontentMouseX : Number
[read-only] Returns the x position of the mouse, in the content coordinate system.
UIComponent
 InheritedcontentMouseY : Number
[read-only] Returns the y position of the mouse, in the content coordinate system.
UIComponent
 InheritedcontextMenu : NativeMenu
Specifies the context menu associated with this object.
InteractiveObject
  creationDateColumn : DataGridColumn
The DataGridColumn representing the Created column.
FileSystemDataGrid
 InheritedcurrentState : String
The current view state of the component.
UIComponent
 InheritedcursorManager : ICursorManager
[read-only] Gets the CursorManager that controls the cursor for this component and its peers.
UIComponent
 Inheriteddata : Object
The item in the data provider this component should render when this component is used as an item renderer or item editor.
ListBase
 InheriteddataProvider : Object
Set of data to be viewed.
ListBase
 InheriteddataTipField : String
Name of the field in the data provider items to display as the data tip.
ListBase
 InheriteddataTipFunction : Function
User-supplied function to run on each item to determine its dataTip.
ListBase
  dateFormatString : String
A String that determines how dates in the Created and Modified columns are formatted.
FileSystemDataGrid
 Inheriteddescriptor : UIComponentDescriptor
Reference to the UIComponentDescriptor, if any, that was used by the createComponentFromDescriptor() method to create this UIComponent instance.
UIComponent
  directory : File
The directory whose contents this control displays.
FileSystemDataGrid
 Inheriteddocument : Object
A reference to the document object associated with this UIComponent.
UIComponent
 InheriteddoubleClickEnabled : Boolean
Specifies whether the UIComponent object receives doubleClick events.
UIComponent
 InheriteddragEnabled : Boolean
A flag that indicates whether you can drag items out of this control and drop them on other controls.
ListBase
 InheriteddraggableColumns : Boolean
A flag that indicates whether the user is allowed to reorder columns.
DataGrid
 InheriteddragMoveEnabled : Boolean
A flag that indicates whether items can be moved instead of just copied from the control as part of a drag-and-drop operation.
ListBase
 InheriteddropEnabled : Boolean
A flag that indicates whether dragged items can be dropped onto the control.
ListBase
 InheriteddropTarget : DisplayObject
[read-only] Specifies the display object over which the sprite is being dragged, or on which the sprite was dropped.
Sprite
 Inheritededitable : Boolean = false
A flag that indicates whether or not the user can edit items in the data provider.
DataGrid
 InheritededitedItemPosition : Object
The column and row index of the item renderer for the data provider item being edited, if any.
DataGrid
 InheritededitedItemRenderer : IListItemRenderer
[read-only] A reference to the item renderer in the DataGrid control whose item is currently being edited.
DataGrid
 Inheritedenabled : Boolean
Whether the component can accept user interaction.
UIComponent
  enumerationMode : String
A String specifying whether this control displays only files, only subdirectories, or both.
FileSystemDataGrid
 InheritederrorString : String
The text that will be displayed by a component's error tip when a component is monitored by a Validator and validation fails.
UIComponent
 InheritedexplicitHeight : Number
Number that specifies the explicit height of the component, in pixels, in the component's coordinates.
UIComponent
 InheritedexplicitMaxHeight : Number
Number that specifies the maximum height of the component, in pixels, in the component's coordinates.
UIComponent
 InheritedexplicitMaxWidth : Number
Number that specifies the maximum width of the component, in pixels, in the component's coordinates.
UIComponent
 InheritedexplicitMinHeight : Number
Number that specifies the minimum height of the component, in pixels, in the component's coordinates.
UIComponent
 InheritedexplicitMinWidth : Number
Number that specifies the minimum width of the component, in pixels, in the component's coordinates.
UIComponent
 InheritedexplicitWidth : Number
Number that specifies the explicit width of the component, in pixels, in the component's coordinates.
UIComponent
  extensions : Array
An Array of extensions specifying which files can be displayed in this control.
FileSystemDataGrid
  filterFunction : Function
A callback Function that you can use to perform additional filtering, after the enumerationMode and extensions properties have been applied, to determine which files and subdirectories are displayed and which are hidden.
FileSystemDataGrid
 Inheritedfilters : Array
An indexed array that contains each filter object currently associated with the display object.
DisplayObject
 InheritedflexContextMenu : IFlexContextMenu
The context menu for this UIComponent.
UIComponent
 InheritedfocusEnabled : Boolean
Indicates whether the component can receive focus when tabbed to.
UIComponent
 InheritedfocusManager : IFocusManager
Gets the FocusManager that controls focus for this component and its peers.
UIComponent
 InheritedfocusPane : Sprite
The focus pane associated with this object.
UIComponent
 InheritedfocusRect : Object
Specifies whether this object displays a focus rectangle.
InteractiveObject
 InheritedfontContext : IFlexModuleFactory
The module factory that provides the font context for this component.
DataGridBase
  forwardHistory : Array
[read-only] An Array of File objects representing directories to which the user can navigate forward.
FileSystemDataGrid
 Inheritedgraphics : Graphics
[read-only] Specifies the Graphics object that belongs to this sprite where vector drawing commands can occur.
Sprite
 InheritedheaderHeight : Number
The height of the header cell of the column, in pixels.
DataGridBase
 Inheritedheight : Number
Number that specifies the height of the component, in pixels, in the parent's coordinates.
UIComponent
 InheritedhitArea : Sprite
Designates another sprite to serve as the hit area for a sprite.
Sprite
 InheritedhorizontalScrollPolicy : String
A property that indicates whether the horizontal scroll bar is always on, always off, or automatically changes based on the parameters passed to the setScrollBarProperties() method.
ScrollControlBase
 InheritedhorizontalScrollPosition : Number
The offset into the content from the left edge.
DataGrid
 Inheritedid : String
ID of the component.
UIComponent
 InheritedimeMode : String
Specifies the IME (input method editor) mode.
DataGrid
 InheritedincludeInLayout : Boolean
Specifies whether this component is included in the layout of the parent container.
UIComponent
 InheritedinheritingStyles : Object
The beginning of this component's chain of inheriting styles.
UIComponent
 Inheritedinitialized : Boolean
A flag that determines if an object has been through all three phases of layout: commitment, measurement, and layout (provided that any were required).
UIComponent
 InheritedinstanceIndex : int
[read-only] The index of a repeated component.
UIComponent
 InheritedinstanceIndices : Array
An Array containing the indices required to reference this UIComponent object from its parent document.
UIComponent
 InheritedisDocument : Boolean
[read-only] Determines whether this UIComponent instance is a document object, that is, whether it is at the top of the hierarchy of a Flex application, MXML component, or ActionScript component.
UIComponent
 InheritedisPopUp : Boolean
Set to true by the PopUpManager to indicate that component has been popped up.
UIComponent
 InheriteditemEditorInstance : IListItemRenderer
A reference to the currently active instance of the item editor, if it exists.
DataGrid
 InheriteditemRenderer : IFactory
The custom item renderer for the control.
ListBase
 InheritedlabelFunction : Function
A user-supplied function to run on each item to determine its label.
ListBase
 InheritedlistData : BaseListData
When a component is used as a drop-in item renderer or drop-in item editor, Flex initializes the listData property of the component with the additional data from the list control.
ListBase
 InheritedliveScrolling : Boolean = true
A flag that indicates whether scrolling is live as the scrollbar thumb is moved or the view is not updated until the thumb is released.
ScrollControlBase
 InheritedloaderInfo : LoaderInfo
[read-only] Returns a LoaderInfo object containing information about loading the file to which this display object belongs.
DisplayObject
 InheritedlockedColumnCount : int
The index of the first column in the control that scrolls.
DataGridBase
 InheritedlockedRowCount : int
The index of the first row in the control that scrolls.
DataGridBase
 Inheritedmask : DisplayObject
The calling display object is masked by the specified mask object.
DisplayObject
 InheritedmaxHeight : Number
Number that specifies the maximum height of the component, in pixels, in the component's coordinates.
UIComponent
 InheritedmaxHorizontalScrollPosition : Number
The maximum value for the horizontalScrollPosition property.
ScrollControlBase
 InheritedmaxVerticalScrollPosition : Number
The maximum value for the verticalScrollPosition property.
ScrollControlBase
 InheritedmaxWidth : Number
Number that specifies the maximum width of the component, in pixels, in the component's coordinates.
UIComponent
 InheritedmeasuredHeight : Number
The default height of the component, in pixels.
UIComponent
 InheritedmeasuredMinHeight : Number
The default minimum height of the component, in pixels.
UIComponent
 InheritedmeasuredMinWidth : Number
The default minimum width of the component, in pixels.
UIComponent
 InheritedmeasuredWidth : Number
The default width of the component, in pixels.
UIComponent
 InheritedmenuSelectionMode : Boolean = false
A flag that indicates whether menu-style selection should be used.
ListBase
 InheritedminColumnWidth : Number
The minimum width of the columns, in pixels.
DataGrid
 InheritedminHeight : Number
Number that specifies the minimum height of the component, in pixels, in the component's coordinates.
UIComponent
 InheritedminWidth : Number
Number that specifies the minimum width of the component, in pixels, in the component's coordinates.
UIComponent
  modificationDateColumn : DataGridColumn
The DataGridColumn representing the Modified column.
FileSystemDataGrid
 InheritedmoduleFactory : IFlexModuleFactory
The moduleFactory that is used to create TextFields in the correct SWF context.
UIComponent
 InheritedmouseChildren : Boolean
Determines whether or not the children of the object are mouse enabled.
DisplayObjectContainer
 InheritedmouseEnabled : Boolean
Specifies whether this object receives mouse messages.
InteractiveObject
 InheritedmouseFocusEnabled : Boolean
Whether you can receive focus when clicked on.
UIComponent
 InheritedmouseX : Number
[read-only] Indicates the x coordinate of the mouse position, in pixels.
DisplayObject
 InheritedmouseY : Number
[read-only] Indicates the y coordinate of the mouse position, in pixels.
DisplayObject
 Inheritedname : String
Indicates the instance name of the DisplayObject.
DisplayObject
  nameColumn : DataGridColumn
The DataGridColumn representing the Name column.
FileSystemDataGrid
  nameCompareFunction : Function
A callback Function that you can use to change how file and subdirectory names are compared in order to produce the sort order.
FileSystemDataGrid
 InheritednestLevel : int
Depth of this object in the containment hierarchy.
UIComponent
 InheritednonInheritingStyles : Object
The beginning of this component's chain of non-inheriting styles.
UIComponent
 InheritednullItemRenderer : IFactory
The custom item renderer for the control.
ListBase
 InheritednumAutomationChildren : int
[read-only] The number of automation children this container has.
UIComponent
 InheritednumChildren : int
[read-only] Returns the number of children of this object.
DisplayObjectContainer
 InheritedopaqueBackground : Object
Specifies whether the display object is opaque with a certain background color.
DisplayObject
 Inheritedowner : DisplayObjectContainer
The owner of this UIComponent.
UIComponent
 Inheritedparent : DisplayObjectContainer
[read-only] The parent container or component for this component.
UIComponent
 InheritedparentApplication : Object
[read-only] A reference to the Application object that contains this UIComponent instance.
UIComponent
 InheritedparentDocument : Object
[read-only] A reference to the parent document object for this UIComponent.
UIComponent
 InheritedpercentHeight : Number
Number that specifies the height of a component as a percentage of its parent's size.
UIComponent
 InheritedpercentWidth : Number
Number that specifies the width of a component as a percentage of its parent's size.
UIComponent
 InheritedprocessedDescriptors : Boolean
Set to true after immediate or deferred child creation, depending on which one happens.
UIComponent
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
 Inheritedrepeater : IRepeater
[read-only] A reference to the Repeater object in the parent document that produced this UIComponent.
UIComponent
 InheritedrepeaterIndex : int
[read-only] The index of the item in the data provider of the Repeater that produced this UIComponent.
UIComponent
 InheritedrepeaterIndices : Array
An Array containing the indices of the items in the data provider of the Repeaters in the parent document that produced this UIComponent.
UIComponent
 Inheritedrepeaters : Array
An Array containing references to the Repeater objects in the parent document that produced this UIComponent.
UIComponent
 InheritedresizableColumns : Boolean = true
A flag that indicates whether the user can change the size of the columns.
DataGrid
 Inheritedroot : DisplayObject
[read-only] For a display object in a loaded SWF file, the root property is the top-most display object in the portion of the display list's tree structure represented by that SWF file.
DisplayObject
 Inheritedrotation : Number
Indicates the rotation of the DisplayObject instance, in degrees, from its original orientation.
DisplayObject
 InheritedrowCount : int
Number of rows to be displayed.
ListBase
 InheritedrowHeight : Number
The height of the rows in pixels.
ListBase
 Inheritedscale9Grid : Rectangle
The current scaling grid that is in effect.
DisplayObject
 InheritedscaleX : Number
Number that specifies the horizontal scaling factor.
UIComponent
 InheritedscaleY : Number
Number that specifies the vertical scaling factor.
UIComponent
 Inheritedscreen : Rectangle
[read-only] Returns an object that contains the size and position of the base drawing surface for this object.
UIComponent
 InheritedscrollRect : Rectangle
The scroll rectangle bounds of the display object.
DisplayObject
 InheritedscrollTipFunction : Function
A function that computes the string to be displayed as the ScrollTip.
ScrollControlBase
 Inheritedselectable : Boolean
A flag that indicates whether the list shows selected items as selected.
ListBase
 InheritedselectedIndex : int
The index in the data provider of the selected item.
ListBase
 InheritedselectedIndices : Array
An array of indices in the data provider of the selected items.
ListBase
 InheritedselectedItem : Object
A reference to the selected item in the data provider.
ListBase
 InheritedselectedItems : Array
An array of references to the selected items in the data provider.
ListBase
  selectedPath : String
The nativePath of the File item representing the selected subdirectory or file, or null if no item is selected.
FileSystemDataGrid
  selectedPaths : Array
An Array of nativePath Strings for the File items representing the selected subdirectories and files.
FileSystemDataGrid
  showExtensions : Boolean
A flag that specifies whether extensions in file names are shown.
FileSystemDataGrid
 InheritedshowHeaders : Boolean
A flag that indicates whether the control should show column headers.
DataGridBase
  showHidden : Boolean
A flag that specifies whether files and directories that the operating system considers hidden are displayed.
FileSystemDataGrid
  showIcons : Boolean
A flag that specifies that icons are displayed before the file name.
FileSystemDataGrid
 InheritedshowInAutomationHierarchy : Boolean
A flag that determines if an automation object shows in the automation hierarchy.
UIComponent
 InheritedshowScrollTips : Boolean = false
A flag that indicates whether a tooltip should appear near the scroll thumb when it is being dragged.
ScrollControlBase
  sizeColumn : DataGridColumn
The DataGridColumn representing the Size column.
FileSystemDataGrid
  sizeDisplayMode : String
A String specifying whether the Size column displays file sizes in bytes or rounded up to the nearest kilobyte, where a kilobyte is 1024 bytes.
FileSystemDataGrid
 InheritedsortableColumns : Boolean = true
A flag that indicates whether the user can sort the data provider items by clicking on a column header cell.
DataGrid
 InheritedsoundTransform : SoundTransform
Controls sound within this sprite.
Sprite
 Inheritedstage : Stage
[read-only] The Stage of the display object.
DisplayObject
 Inheritedstates : Array
The view states that are defined for this component.
UIComponent
 InheritedstyleDeclaration : CSSStyleDeclaration
Storage for the inline inheriting styles on this object.
UIComponent
 InheritedstyleName : Object
The class style used by this component.
UIComponent
 InheritedsystemManager : ISystemManager
Returns the SystemManager object used by this component.
UIComponent
 InheritedtabChildren : Boolean
Determines whether the children of the object are tab enabled.
DisplayObjectContainer
 InheritedtabEnabled : Boolean
Specifies whether this object is in the tab order.
InteractiveObject
 Inherited