flex 4 list ItemRenderer:我怎样才能有不同的行不同的itemrenderers? [英] flex 4 list ItemRenderer: how can i have different itemrenderers for different rows?
问题描述
更新
我已经试着用状态来解决这个问题,状态,一个状态称为我的,第二个状态称为他人。
我得到的问题是,当用户点击其中一个列表行改变我donno ..点击或什么,这就是为什么我认为国家不是正确的行动对我来说。
Flex 4附带的火花List控件允许您根据某些逻辑分配不同的itemRenderer。
您可以通过设置 itemRendererFunction 属性来创建自定义项目渲染器函数。
< fx:Script>
<![CDATA [
import renderers。*;
导入mx.core.ClassFactory;
import spark.skins.default.DefaultItemRenderer;
private function list_itemRendererFunc(item:Object):ClassFactory {
var cla:Class = DefaultItemRenderer;
switch(item.type){
caseemployee:
cla = EmployeeItemRenderer;
break;
casemanager:
cla = ManagerItemRenderer;
break;
默认值:
break;
}
返回新的ClassFactory(cla);
}
]]>
< / fx:Script>
< s:List id =list
labelField =name
itemRendererFunction =list_itemRendererFunc
horizontalCenter =0
verticalCenter = 0 >
I'm creating a list of scores for a game. now most of the list i need to have the same ItemRenderer. but in one specific row of the list where the user who's playing is listed, it should show different information and with different background color. how can i achieve this ?
update
I already tried to resolve the issue with states, i created 2 states, one state called 'mine' and the 2nd state called 'others'.
the problems that i got is that when users click on one of the list rows that state changes to i donno.. clicked or something and that's why i assumed that states are not the right action for me.
The spark List control that comes with Flex 4 allows you to assign a different itemRenderer depending on some logic.
You can create a custom item renderer function by setting the itemRendererFunction property.
<fx:Script>
<![CDATA[
import renderers.*;
import mx.core.ClassFactory;
import spark.skins.default.DefaultItemRenderer;
private function list_itemRendererFunc(item:Object):ClassFactory {
var cla:Class = DefaultItemRenderer;
switch (item.type) {
case "employee":
cla = EmployeeItemRenderer;
break;
case "manager":
cla = ManagerItemRenderer;
break;
default:
break;
}
return new ClassFactory(cla);
}
]]>
</fx:Script>
<s:List id="list"
labelField="name"
itemRendererFunction="list_itemRendererFunc"
horizontalCenter="0"
verticalCenter="0">
这篇关于flex 4 list ItemRenderer:我怎样才能有不同的行不同的itemrenderers?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!