Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List spark列表控件显示数据提供程序更新上的不完整数据_List_Actionscript 3_Apache Flex_Flex Spark - Fatal编程技术网

List spark列表控件显示数据提供程序更新上的不完整数据

List spark列表控件显示数据提供程序更新上的不完整数据,list,actionscript-3,apache-flex,flex-spark,List,Actionscript 3,Apache Flex,Flex Spark,当我更新这样的星火列表时: searchView.gridView.dataProvider = new ArrayCollection( data ); 我有时从列表中显示的数组“data”中获取完整数据,但有时仅获取前四项。我进行了检查,设置后的数组和数据提供程序始终具有正确的条目数 以下是mxml中的列表代码: <s:List id="gridView" width="1024" height="390" itemRenderer="com.xxx.xxx.view.compone

当我更新这样的星火列表时:

searchView.gridView.dataProvider = new ArrayCollection( data );
我有时从列表中显示的数组“data”中获取完整数据,但有时仅获取前四项。我进行了检查,设置后的数组和数据提供程序始终具有正确的条目数

以下是mxml中的列表代码:

<s:List id="gridView" width="1024" height="390" itemRenderer="com.xxx.xxx.view.component.GridViewItemRenderer">
    <s:layout>
        <s:TileLayout rowHeight="195" columnWidth="242" requestedColumnCount="4" horizontalGap="0" verticalGap="0" />
    </s:layout>
</s:List>

我不明白为什么它有时显示所有内容,然后又显示第一行

更新:它似乎与使用TileLayout有某种联系。当我删除布局时,它总是显示所有条目


更新2:似乎只有当我从dataprovider中的no items(空数组)变为n items时,才会出现这种情况。如果已经显示了项目,并且数据提供程序使用更多或更少的项目进行更新,那么它可以正常工作。

我也遇到了同样的问题。不过我只是用了创可贴。如果你这样做,它应该显示所有

var myLayout:LayoutBase = gridView.layout;
gridView.layout = null;
gridView.layout = myLayout;
另一个选项是创建一个新的布局对象,并将其设置在dataProvider之后

var newLayout = new TileLayout();
newLayout.rowHeight = 195;
newLayout.columnWidth = 242;
newLayout.requestedColumnCount = 4;
newLayout.horizontalGap = 0;
newLayout.verticalGap = 0;

gridView.dataProvider = newDataProvider;
gridView.layout = newLayout;

如何填充阵列?通过远程服务?通过函数调用从服务单例返回阵列。阵列是在函数调用中构建的,但没有与远程服务的连接。这就是在设置数据提供程序之前设置“数据”数组的原因。此外,数组的计数始终正确。请在分配DataProvider后尝试invalidatedisplaylist(),但运气不佳。。。