我有下列:清單的Flex 4 S:列表的itemRenderer標籤不顯示
<s:List
id="lstOther"
borderVisible="false"
width="100%" height="100%"
dataProvider="{this.handler.itemRendererType}"
labelFunction="labelFunction"
itemRendererFunction="itemRendererFunction">
</s:List>
爲itemRendererFunction和labelFunction看起來像這樣的功能:
private function itemRendererFunction(item:Object):IFactory {
var clazz:Class = DefaultItemRenderer;
switch(item.data) {
case "Security Unit":
clazz = CheckBox;
break;
default:
clazz = CheckBoxEditLabel;
}
return new ClassFactory(clazz);
}
private function labelFunction(item:Object):String {
return "testing";
}
我的數據提供者(數據提供程序=」 {this.handler.itemRendererType}「)的組成如下:
public var itemRendererType:ArrayCollection = new ArrayCollection([
{name:"otherLabel1", data:"Security Unit"},
{name:"otherLabel2", data:"Test 1"},
{name:"otherLabel3", data:"Test 2"}
]);
我第一次嘗試設置的labelField在s:List到'name'中。列表控件中沒有出現任何內容。從上面可以看出,我嘗試使用標籤函數並返回硬編碼值(「測試」)。仍然沒有出現。
爲什麼標籤的文字不顯示?
任何幫助將不勝感激。謝謝!
你能代碼發佈到您的CheckBox和CheckBoxEditLabel渲染? – 2011-03-30 04:19:56