STATUS로 필드/열이 하나 인 DataGrid가 백엔드에 연결되어 있습니다. DG는 CheckBox HeaderRenderer와 itemRenderer를 모두 사용합니다. STATUS가 "실패"일 때, 나는 체크 박스를 보여주고 싶다. 그리고 그 것이 다른 것이라면 그것을 보여주지 않는다. (또는 타협하여 그것을 사용하지 않는다.) 보이는 속성은 체크 상자가 항상 표시되고 enabled = false가 회색으로 표시되지만 머리글 렌더링자가 & (아직 이유를 모르겠 음)을 선택하도록 허용하므로 아무 이유없이 효과가 없습니다. 왜 이것이 일어나고 있는지 어떤 생각입니까 ??? 코드는 매우 간단합니다 :DataGrid CheckBox Itemerenderer 버그처럼 보입니다 ... 버그와 비슷합니다.
의 itemRenderer -
<?xml version="1.0" encoding="utf-8"?>
<mx:CheckBox xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import com.fidelity.ORWS.view.requests.RequestStatus;
import mx.controls.Alert;
override public function set data(value:Object):void
{
super.data = value;
this.selected = false;
if(data.status == 'SUCCESS' || data.status == 'PROCESSING')
{ this.enabled = false; }
}
]]>
</mx:Script>
</mx:CheckBox>
HeaderRenderer는 -
<?xml version="1.0" encoding="utf-8"?>
<mx:CheckBox xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.DataGrid;
override protected function clickHandler(event:MouseEvent):void
{
super.clickHandler(event);
var dg:DataGrid = this.owner as DataGrid;
var dp:ArrayCollection = dg.dataProvider as ArrayCollection;
var cb:requestcheckboxRenderer;
for (var i:int=0;i<dp.source.length;i++)
{
cb = dg.indexToItemRenderer(i) as requestcheckboxRenderer;
cb.selected = (selected) ? true : false;
}
}
]]>
</mx:Script>
</mx:CheckBox>
감사합니다. 마지막으로 작동하도록 만들었습니다. 기본적으로 확인란에 ID를 허용하고 숨기기/표시 할 수있는 컨테이너의 확인란을 감싸는 중입니다. 어쨌든 이것이 바람직한 솔루션 이었으므로 더 이상 활성화/비활성화가 더 이상 걱정되지 않았습니다. 다시 한 번 감사드립니다 ... – dude22