[英]ItemRenderer shows through ItemEditor on AdvancedDataGrid
我對Flex來說還很陌生,所以很可能我會遺漏一些顯而易見的東西,但是在第一個示例代碼中,一切都會按預期進行。 不編輯單元格時,它會將居中日期顯示為純文本。 編輯時,它顯示一個DateField編輯器。 就我所知,第二個示例完全相同,只是它是AdvancedDataGridColumn
。 將該代碼與AdvancedDataGrid
,當我進入編輯模式時,我可以在DateField
編輯器后面的文本輸入和日歷圖標之間看到普通項目渲染器中的文本。 我在這里做錯了嗎? 我怎么藏起來 提前致謝。
范例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>
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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.