首先建立 一个绑定数据集合
for each (var object:Object in modelLocator.chartOriArrayCollection)
{
// 构建绑定集合 modelLocator.relatedLanguage
if (!isInArrayCollection(object.languageName, modelLocator.relatedLanguage))
{
var newLanguage:ObjectProxy = new ObjectProxy();
// name 属性将会绑定到 CheckBox 的 label 属性上
newLanguage.name = String(object.languageName);
// selected 属性将会绑定到 CheckBox 的 selected 属性上
newLanguage.selected = true;
modelLocator.relatedLanguage.addItem(newLanguage);
}
}
其次使用 itemRenderer 搭建 TileList
<mx:TileList id="languageTileList" dataProvider="{initLocator.relatedLanguage}" width="100%" height="100%" borderThickness="0"> <mx:itemRenderer> <mx:Component> <mx:HBox> <mx:CheckBox label="{data.name}" selected="{data.selected}" width="85" click="outerDocument.clickLanguageHandler(event, data)" /> </mx:HBox> </mx:Component> </mx:itemRenderer> </mx:TileList>
如有需要,重置该 TileList ,此时你会发现有了 selected 属性,该功能的实现会非常方便
for each (var language:Object in initLocator.relatedLanguage)
{
language.selected = true;
}
// 这句话必须的,否则无效
languageTileList.dataProvider = initLocator.relatedLanguage;