我想在flex中的datagrid的標題上放置文本輸入框,其值根據該特定列中存在的數據或值的數量動態變化。 請任何人幫助我,我張貼圖像acctually我想要的。 在此先感謝。 Fex- Datagrid-自定義標題
回答
我假設你可以使用Spark DataGrid。在這種情況下,您只需創建一個自定義headerRenderer。爲了簡單起見,我們將從默認的headerRenderer開始。在您的Flex SDK資源中,找到類spark.skins.spark.DefaultGridHeaderRenderer
。將該文件複製到您的項目中並進行適當的重命名。
該課程內部,找到組件labelDisplayGroup
和sortIndicatorGroup
(它們在底部)。他們在HGroup內部,所以我們可以簡單地在兩者之間添加我們的計數器組件。
<!-- I removed the original comments for brevity -->
<s:HGroup left="7" right="7" top="5" bottom="5" gap="2" verticalAlign="middle">
<s:Group id="labelDisplayGroup" width="100%" />
<!-- our counter component -->
<s:Label id="numRowsDisplay" />
<s:Group id="sortIndicatorGroup" includeInLayout="false" />
</s:HGroup>
到目前爲止的視覺組件;現在我們必須適當更新其text
屬性。在腳本塊中添加以下代碼片段:
private var dp:IList;
override public function set owner(value:DisplayObjectContainer):void {
if (dp) dp.removeEventListener(CollectionEvent.COLLECTION_CHANGE, updateNumRows);
if (super.owner) super.owner.removeEventListener(PropertyChangeEvent.PROPERTY_CHANGE, onPropertyChange);
super.owner = value;
dp = value ? DataGrid(value).dataProvider : null;
updateNumRows();
if (dp) dp.addEventListener(CollectionEvent.COLLECTION_CHANGE, updateNumRows);
if (value) value.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, onPropertyChange);
}
private function onPropertyChange(event:PropertyChangeEvent):void {
if (event.property == 'dataProvider') {
dp = event.newValue as IList;
updateNumRows();
}
}
private function updateNumRows(event:CollectionEvent=null):void {
numRowsDisplay.text = (dp ? dp.length : 0) + "";
}
這裏會發生什麼?渲染器的owner
屬性引用持有此渲染器的數據組件;在這種情況下是一個DataGrid。所以當所有者被分配到渲染器時,我們訪問它的dataProvider
並使用它的length
來更新計數器組件。
那麼,那些聽衆是什麼?有兩種情況你可能想要預見。
- 數據提供者中的項目數量發生變化:這就是爲什麼我們要爲CollectionChange事件監聽數據提供者。
- 整個數據提供程序變更或廢止:這個我們聽在DataGrid上對PropertyChangeEvents和更新計數器只有當「數據提供程序」屬性更改
我正在使用flex builder3,這個答案適用於flex builder 3. – 2012-04-02 09:06:11
是的,但是您必須使用Flex Builder 3不附帶的Flex 4.5 SDK:您必須手動添加它。 – RIAstar 2012-04-02 09:08:20
- 1. Datagrid自定義標題
- 2. WPF Datagrid綁定自定義列標題
- 3. 如何自定義DataGrid標題?
- 4. Wpf DataGrid ClipboardCopyMode =「IncludeHeader」與自定義標題
- 5. Silverlight DataGrid控件自定義列標題
- 6. 在DataGrid中創建自定義列標題 - 綁定問題
- 7. 數據綁定DataGrid自定義列標題
- 8. DataGrid自定義分頁中的問題
- 9. datagrid列自定義複選標記
- 10. 自定義的WPF DataGrid與標題中的下拉菜單
- 11. 如何在Silverlight中自定義DataGrid標題?
- 12. 如何自定義WPF Datagrid中列標題的顯示?
- 13. 如何使用Databound自定義DataGrid的標題Itemscontrol
- 14. 如何將自定義UserControl分配給DataGrid列標題?
- 15. DataGrid列自定義綁定
- 16. DataGrid中Datagrid中的自定義Itemrender
- 17. FullCalendar自定義標題標題
- 18. 自定義NSIS MessageBox標題/標題
- 19. 標題的自定義標題欄
- 20. WPF datagrid自定義列
- 21. WPF DataGrid自定義分組
- 22. 在WPF中自定義DataGrid
- 23. 自定義WPF DataGrid列
- 24. 自定義DataGrid組名稱
- 25. MultiplePieChart的自定義標題
- 26. Android ListView自定義標題
- 27. UICollectionView與自定義標題
- 28. 自定義標題中RestKit
- 29. Android - 自定義標題欄
- 30. Restharp PUT自定義標題
Spark或暈/ MX? – RIAstar 2012-04-02 06:52:58