0

我想在我的 DataGrid 中为我的列之一设置一个图标。我初始化了 DataGrid 并像这样放置列:

<s:GridColumn dataField="Test"
              itemRenderer="ColorGradientItemRenderer"
              sortCompareFunction="numeric_sort('Test')">
    <s:headerRenderer>
        <fx:Component>
            <s:DefaultGridHeaderRenderer chromeColor="0xFFFFFF">
                <s:Image source="@Embed('img/test.jpg')" width="75" height="75" />
            </s:DefaultGridHeaderRenderer>
        </fx:Component>
    </s:headerRenderer>
</s:GridColumn>

我在标题上看到图像很好,问题是当我单击图像进行排序时,指示排序方向的小箭头没有出现。我怎样才能让它出现?如果我可以在此处插入一些内联 mxml 而不必创建多个 mxml 渲染器文件来执行此操作,那就太好了。

4

2 回答 2

0

您需要在自定义标题皮肤中对 defaultSortIndicator 进行皮肤。看到这个问题:想要在 spark DataGrid 中显示客户排序指示器?

于 2013-05-28T21:16:06.983 回答
0

您可以使用数据网格的 sortByColumns 方法,或扩展数据网格并将此方法添加到其中:

public function PlaceSortIndicator(columnIndex:uint, descending:Boolean):void
{
    if(columnIndex >= 0 && columns != null && columns.length > columnIndex)
    {
        var column:GridColumn = columns.getItemAt(columnIndex) as GridColumn;
        if(column != null)
        {
            column.sortDescending = descending;
            if (columnHeaderGroup)
                columnHeaderGroup.visibleSortIndicatorIndices = new <int>[columnIndex];
        }
    }
}
于 2015-04-03T22:53:35.843 回答