我有一个网格表,其中包含船舶对象(数据提供者接受船舶对象的数组集合),并在网格表中显示船只和日期的名称。我的ship对象有一个名为checkList的属性,它是一个布尔值,用作我复选框项目渲染器中的数据绑定。(使复选框勾号和不勾选)如何检查/勾选项目渲染器中的复选框?
我想在添加图像时检查我的复选框将对象放入容器中。正在添加到容器的Image对象具有一个ID。我想将该Image ID与我的shipId在数据网格表中匹配,并选中该特定记录的复选框。
因此,我的图像对象侦听添加事件,因此当图像对象添加到容器。它调用addHandler()函数获取图像的id和通过数据网格表的循环来查找匹配的id并检查CheckBox。我的循环工作很好。使用Alert.show()我可以看到它匹配的id和布尔值设置为true,复选框被勾选。但是,复选框未勾选。
这些是我的代码。即使该特定记录的checkList属性设置为true。该复选框未勾选。我不知道问题是什么。我是一名学生,刚接触flex.Can有人能帮助我吗?
我MXML视图:我的网格
<s:DataGrid id="arrivalTable" x="-1" y="-1" width="302" height="205" requestedRowCount="4"
dataProvider="{myArrivalShips}" >
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="shipName" headerText="Arrival Ships" itemRenderer="DesignItemRenderer.myCustomToolTipRenderer" width="130" ></s:GridColumn>
<s:GridColumn dataField="ETA" headerText="ETD" itemRenderer="DesignItemRenderer.myCheckBoxRenderer"></s:GridColumn>
</s:ArrayList>
</s:columns>
</s:DataGrid>
我的图像对象监听添加事件。
displayImg.addEventListener(FlexEvent.ADD,addHandler);
这是我的addHandler操作()事件功能:
protected function addHandler(event:FlexEvent):void
{
var ImageShipId:String = Image(event.currentTarget).id;
var destination:BorderContainer = Image(event.currentTarget).owner as BorderContainer;
var destinationId:String = destination.id;
if(destinationId == "bct_HoldingArea"){
for(var j:int = 0; j<arrivalTable.dataProvider.length; j++){
var myShip:Ship = arrivalTable.dataProvider.getItemAt(j) as Ship;
var myShipId:String = myShip.shipID.toString();
if(StringUtil.trim(myShipId) == StringUtil.trim(ImageShipId)){
myShip.checkList = true;
Alert.show("The ship name : " + myShip.shipName +"\n" + "The Ship selected : " + myShip.checkList);
}
}
}
}
我的复选框的项目渲染:
<s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" clipAndEnableScrolling="true">
<s:HGroup>
<s:Label text="{data.ETD}" paddingTop="8"/>
<s:CheckBox id="myCheckBox" enabled="false" selected="{data.checkList}" />
</s:HGroup>
怎么样arrivalTable.validateNow();将checkList设置为true后? – 2013-02-27 04:57:43
回答这个问题可以帮助你:http://stackoverflow.com/questions/15078627/flex-4-itemrenderer-for-list#comment21209461_15078627 – JeffryHouser 2013-02-27 04:58:15
@MSNayak不,先生didt工作:( – user2017147 2013-02-27 07:15:28