2013-02-19 111 views
0

有沒有辦法讓火花datagrid單元格內的文本可選?我不想讓這些單元格可編輯。火花datagrid選擇

我試過擴展DefaultGridItemRenderer並設置selectable = true,但是它什麼都不做。

我使用的Flex SDK 4.9

回答

2

的DefaultGridItemRenderer使用FTETextField中用於顯示文本,但對於FTETextField中的文本不能設置爲可選。

改爲使用UITextFieldGridItemRenderer;這可以讓你設置selectable = true。

最簡單的方法是創建UITextFieldGridItemRenderer,並在它的構造函數添加一個子類:

selectable = true; 

然後設置新的類作爲渲染器數據網格。

1

如果你不想創建一個自定義類來讓你的文本可選,那麼使用ClassFactory也可以。在actionscript函數中,使用ClassFactory創建UITextFieldGridItemRenderer的實例,通過屬性設置'selectable',並返回渲染器實例。要應用項目渲染器,可以將該函數綁定到列或網格的「itemRenderer」屬性。

下面是一個簡單的例子:

public function myRendererFactory():ClassFactory 
    { 
     var myRenderer:ClassFactory=new ClassFactory(UITextFieldGridItemRenderer); 
     myRenderer.properties={selectable: true}; 
     return myRenderer; 
    } 
... 
<s:GridColumn itemRenderer="{myRendererFactory()}"/> 
...