import spark.events.IndexChangeEvent; public function irsf(item:*):IFactory { if (item.type == "product") return new ClassFactory(ProductRendererSkin); else if (item.type == "employee") return new ClassFactory(EmployeeRendererSkin); return null; // Can't determine type, return null to fallback to default renderer } public function selectionChangingHandler(event:IndexChangeEvent):void { var item:* = h.dataProvider.getItemAt(event.newIndex); if (item.type != "employee") event.preventDefault(); }