 			else if (hashMap)
 			{
 				setNameColumnHeader();
-				_editor.dataProvider = hashMap.getObjects();
+				var objects:Array = hashMap.getObjects();
+				if (_filterFunction != null)
+					objects = objects.filter(_filterFunction);
+				if (_reverse)
+					objects = objects.reverse();
+				_editor.dataProvider = objects;
 			}
 			else
 				_editor.dataProvider = null;

		private const _dynamicObjectWatcher:LinkableWatcher = newLinkableChild(this, LinkableWatcher, updateDataProvider, true);
		private const _childListWatcher:LinkableWatcher = newLinkableChild(this, LinkableWatcher, updateDataProvider);
		private var _labelFunction:Function = null;
		
		public function get hashMap():ILinkableHashMap
		{

					if (object)
						newNameOrder[i] = hashMap.getName(object);
				}
				if (_reverse)
					newNameOrder.reverse();
				hashMap.setNameOrder(newNameOrder);
			}
		}
