有没有办法消除Flex中DataGridColumn的边框?

时间:2011-07-26 20:42:24

标签: actionscript-3 flex4

我无法找到摆脱DataGrid中某些边框的方法。我想消除我的两列上的边框,使它们看起来像一列。

我正在尝试在每个DataGrid行上实现“清除值”按钮。我可以从单独的ActionScript文件中在自定义ItemRenderer上显示按钮,但我不确定如何将按钮单击事件传播到DataGrid所在的mxml文件。对于我来说,使用“清除”按钮有一个额外的不可调整的列会更容易。

所以,重申:有没有办法改变边框样式或消除DataGridColumn的某些边框?

1 个答案:

答案 0 :(得分:0)

这有点hacky,但我找到了一个满足我需求的解决方案。我制作了一个清晰的分隔符皮肤并将其用作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>

分隔符皮肤(作为actionscript类):

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