0
私は、Arrayコレクションを持つDataGridを生成しています。 DataGridが生成されると、グリッドの最後に余分な行が作成されます。どのように余分な行を削除するか、生成するためにそれらを停止します。データグリッドに余分な行がありますか?
グリッドを生成する私のコードあなたがデータグリッドのheight
プロパティを設定すると
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);
}
}
おかげで
こんにちはありがとう、私はRowheightラインでこのソリューションをチェックし、それがなくても成功 - エラーは同じです。それを修正する他の方法。次のようにあなたの例では感謝 –
、あなたがそれを設定することができます。 'grid.height = dataPrvdr.length * 16 + 20;私は、具体的にそれを設定して、' –
ええ、実際に私がrowHeightのプロパティで混乱していて、列を動的にカウントされます。あなたのソリューションが私の人生を簡単にすることに感謝します –