Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/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
Flash 面对数据网格中的额外行?_Flash_Apache Flex_Actionscript 3_Action - Fatal编程技术网

Flash 面对数据网格中的额外行?

Flash 面对数据网格中的额外行?,flash,apache-flex,actionscript-3,action,Flash,Apache Flex,Actionscript 3,Action,我正在生成一个带有数组集合的datagrid。生成datagrid时,会在网格末尾创建一些额外的行。如何删除多余的行或停止它们生成 生成网格的代码 private function createGrid(dataPrvdr:ArrayCollection, columnsValue:Array /*of Objects*/ = null):void { if (dataPrvdr && dataPrvdr.length)

我正在生成一个带有数组集合的datagrid。生成datagrid时,会在网格末尾创建一些额外的行。如何删除多余的行或停止它们生成

生成网格的代码

private function createGrid(dataPrvdr:ArrayCollection, columnsValue:Array /*of Objects*/ = null):void
        {
            if (dataPrvdr && dataPrvdr.length)
            {
                includeInLayout = true;
                var grid:DataGrid = new DataGrid();

                if (columnsValue)
                {
                    var cols:Array = grid.columns;
                    for (var i:int = 0; i < columnsValue.length; i++)
                    {
                        for (var prop:String in columnsValue[i])
                        {
                            //addDataGridColumn(prop, columnsValue[i][prop], grid);
                            cols.push(DataGridColumn(columnsValue[i][prop]));
                        }
                    }

                    grid.columns = cols;
                }

                grid.dataProvider = dataPrvdr;
                grid.percentWidth = 99;
                grid.styleName = "dataGridReport";  
                grid.setStyle("headerBackgroundSkin",DataGridHeaderBlueSkin); 

                grid.sortableColumns = false;
                grid.editable = false;
                grid.variableRowHeight = true;
                grid.resizableColumns = false;

                grid.rowCount = grid.dataProvider.length;
                grid.headerHeight = 20;
                grid.rowHeight = 16;
                grid.verticalScrollPolicy = ScrollPolicy.OFF;
                addElement(grid);

                if (!grids)
                    grids = [];

                grids.push(grid);
                grid.addEventListener("multiLineLabelItemRendererHeightChanged", rendererHeightChanged, false, 0, true);
                grid.addEventListener(FlexEvent.CREATION_COMPLETE, function (event:FlexEvent):void
                {
                    grid.invalidateSize();
                }, false, 0, true);
            }
        }
私有函数createGrid(dataPrvdr:ArrayCollection,columnsValue:Array/*of Objects*/=null):void
{
if(dataPrvdr&&dataPrvdr.length)
{
includeInLayout=true;
var-grid:DataGrid=newdatagrid();
if(列值)
{
var cols:Array=grid.columns;
for(变量i:int=0;i

谢谢

当您设置datagrid的
高度
属性时,它会覆盖
行数

您可以将代码中的
高度设置为:

grid.height = grid.dataProvider.length * grid.rowHeight + grid.headerHeight;

干杯,

您好,谢谢,我用行高线和不带行高线检查此解决方案,但成功-错误仍然相同。还有别的办法吗。感谢您的示例,您可以如下设置:
grid.height=dataPrvdr.length*16+20是的,实际上我对rowHeight属性感到困惑,所以我专门设置了它,并动态设置了行数。谢谢你的解决方案让我的生活变得轻松。