此问题在此处已有答案:
Flex: Database driven DataGrid: arrows disappearing(3个答案)
四年前就关门了。
我使用的是Flex 3.6版,我需要按两列对数据网格进行排序。当我单击列标题时,排序箭头显示在列标题上。
我现在要做的是,当我点击一个特定的列时,它会在两列上排序。这部分工作正常。
但是我注意到通常出现在已排序列上的排序箭头指示符已经消失。我使用的是DataGrid的子类,所以在排序后,我尝试使用placeSortArrow()
,但是我注意到在DataGridHeader.as中sortArrow
为空。
protected function headerReleaseListener(event:DataGridEvent):void
{
if(event.columnIndex == 0)
{
event.preventDefault();
var sort:Sort = new Sort();
sort.fields = [new SortField("@name",true, true), new SortField("@address",true, false)];
ArrayCollection(this.dataProvider).sort = sort;
ArrayCollection(this.dataProvider).refresh();
}
}
我希望指定排序箭头应该出现在哪一列,一列是按一列还是多列排序。有人知道这是否可行吗?
1条答案
按热度按时间n7taea2i1#
我从另一个问题中找到了消失类箭头的答案:Flex: Database driven DataGrid: arrows disappearing在ili回答的一个问题中,并对它进行了修改以适合我的代码。
因为有两个已排序的列,所以内部
sortIndex
为-1,因此sortArrow为空。通过选择要显示排序的列(我使用了主排序列)并设置sortIndex和方向,
sortArrow
现在就出现了。