2011-04-05 3 views
0

저는 Flex에 처음으로 익숙해졌습니다. 그래서 분명히 뭔가 빠졌을 가능성이 있습니다.하지만 첫 번째 예제 코드에서는 모든 것이 예상대로 작동합니다. 셀을 편집하지 않을 때는 가운데 맞춤 날짜가 일반 텍스트로 표시됩니다. 편집 할 때 DateField 편집기가 표시됩니다. 두 번째 예제는 내가 말할 수있는 한 정확히 동일합니다. 사실은 AdvancedDataGridColumn입니다. 이 코드를 AdvancedDataGrid과 함께 사용하여 편집 모드로 들어가면 DateField 편집기 뒤에있는 일반 항목 렌더러의 텍스트 (텍스트 입력과 캘린더 아이콘 사이)를 볼 수 있습니다. 내가 여기서 뭔가 잘못 했니? 어떻게 숨길 수 있습니까? 미리 감사드립니다.ItemRenderer는 AdvancedDataGrid의 ItemEditor를 통해 보여줍니다.

예 1

<mx:DataGridColumn id="endColumn" 
        dataField="endDate" 
        headerText="End" 
        editorDataField="selectedDate" 
        editable="true" 
        labelFunction="{this.formatDate}" 
        width="80" 
        textAlign="center" > 
    <mx:itemEditor> 
     <fx:Component> 
      <mx:DateField yearNavigationEnabled="true" formatString="DD/MM/YY" /> 
     </fx:Component> 
    </mx:itemEditor> 
</mx:DataGridColumn> 

예 2 :

<mx:AdvancedDataGridColumn id="endColumn" 
          dataField="endDate" 
          headerText="End" 
          editorDataField="selectedDate" 
          editable="true" 
          labelFunction="{this.formatDate}" 
          width="80" 
          textAlign="center" > 
    <mx:itemEditor> 
     <fx:Component> 
      <mx:DateField yearNavigationEnabled="true" formatString="DD/MM/YY" /> 
     </fx:Component> 
    </mx:itemEditor> 
</mx:AdvancedDataGridColumn> 
+0

언제든지 코드를 실행할 준비가 되었습니까? –

답변

1

dateInput 상기 아이콘들 사이의 공간은 일반적으로 투명하다. mx:DataGrid이 렌더링 된 텍스트를 숨기고 mx:AdvancedDataGrid이 표시되지 않는 이유가 확실하지 않습니다.

어쨌든, 당신의 문제에 대한 쉬운 해결책이 있습니다. itemEditors 배경을 원하는 색상으로 칠하십시오. 다음은 작동해야합니다.

<mx:itemEditor> 
    <fx:Component> 
     <mx:DateField yearNavigationEnabled="true" formatString="DD/MM/YY"> 
      <fx:Script> 
       <![CDATA[ 
        protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void 
        { 
         graphics.beginFill(0xFFFFFF); // white 
         graphics.drawRect(0, 0, unscaledWidth, unscaledHeight); 
         graphics.endFill(); 

         super.updateDisplayList(unscaledWidth, unscaledHeight); 
        } 
       ]]> 
      </fx:Script> 
     </mx:DateField> 
    </fx:Component> 
</mx:itemEditor> 
+0

고마워! 그것은 트릭을했다. – Ocelot20