2011-07-26 37 views
0

我看不到擺脫DataGrid中某些邊界的方法。我想在我的兩列中刪除一個邊框,以使它們看起來像一列。有沒有辦法消除Flex中DataGridColumn的邊框?

我想在我的每個DataGrid行上實現一個「清除值」按鈕。我可以從一個單獨的ActionScript文件在一個自定義的ItemRenderer上顯示按鈕,但我不確定如何讓按鈕單擊事件傳播到DataGrid所在的mxml文件。對於我來說,擁有一個帶有「清除」按鈕的額外的不可重複的列會容易得多。

所以,重申:有沒有辦法改變邊框樣式或消除DataGridColumn的某些邊界?

+0

您需要清理組件。 –

回答

0

這是一種哈克,但我找到了一個解決方案,以滿足我的需求。我做了一個清晰的隔離皮膚,並將它用作verticalLockedSeparatorSkin,然後鎖定列直到分隔符。這工作,因爲我沒有在我的DataGrid水平滾動。它僅允許,但是,對於一個單邊框的2列之間的消除(這是我所需要的):

的DataGrid MXML:

<mx:DataGrid lockedColumnCount="2" verticalLockedSeparatorSkin="ClearGridSeparatorSkin"> 
    <mx:columns> 
     <mx:DataGridColumn /> 
     <mx:DataGridColumn /> <!-- this column is to the left of the clear separator --> 
     <mx:DataGridColumn /> <!-- this column is on the right side of the separator --> 
    </mx:columns> 
</mx:DataGrid> 

分離皮膚(如動作類):

package com.example.ClearSeparator 
{ 
    import mx.skins.ProgrammaticSkin; 
    public class ClearGridSeparatorSkin extends ProgrammaticSkin 
    { 
     public function ClearGridSeparatorSkin() 
     { 
      this.alpha=0; 
      this.width=1; 
      super(); 
     } 
    } 
} 
相關問題