我正在使用 Flashbuilder 4.6,但无法对我的 s:DataGrid 中的列进行排序,单击列没有任何作用。任何人都可以提出什么问题吗?
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:DataGrid x="30" y="24" requestedRowCount="4" sortableColumns="true">
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="dataField1" headerText="Column 1"></s:GridColumn>
<s:GridColumn dataField="dataField2" headerText="Column 2"></s:GridColumn>
<s:GridColumn dataField="dataField3" headerText="Column 3"></s:GridColumn>
</s:ArrayList>
</s:columns>
<s:typicalItem>
<fx:Object dataField1="Sample Data" dataField2="Sample Data" dataField3="Sample Data"></fx:Object>
</s:typicalItem>
<s:ArrayList>
<fx:Object dataField1="4" dataField2="c" dataField3="data1"></fx:Object>
<fx:Object dataField1="2" dataField2="d" dataField3="data2"></fx:Object>
<fx:Object dataField1="1" dataField2="a" dataField3="data3"></fx:Object>
<fx:Object dataField1="3" dataField2="b" dataField3="data4"></fx:Object>
</s:ArrayList>
</s:DataGrid>
</s:Application>
最佳答案
这是因为您的 dataProvider
类型,您应该将其更改为 ArrayCollection
。 ArrayList
基本上是 ArrayCollection
的“轻量级”版本,去除了排序和过滤功能,当您单击列时,DataGrid
在后台使用这些功能用于排序的标题。
关于apache-flex - 柔性 :datagrid sorting doesn't seem to work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9343794/