J'ai un panneau à l'intérieur duquel j'ai une grille de données et un bouton. La fonctionnalité est que lorsque je clique sur le bouton, une ligne est ajoutée à la grille de données. J'ai décrit la hauteur et la largeur du panneau en%. Mais à mesure que le nombre de lignes dans la grille de données augmente, en raison de la hauteur du panneau fixe, une barre de défilement apparaît dans la grille de données.comment augmenter dynamiquement la hauteur du panneau en flexion?
Mais je veux que la hauteur du panneau augmente dynamiquement à mesure que j'augmente les lignes de la grille de données. Quelqu'un m'aide. Ceci est mon code flex:
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
import mx.collections.XMLListCollection;
[Bindable]
private var initDG:ArrayCollection = new ArrayCollection([
{Select:true},
]);
private function addTaskRow(event:MouseEvent):void
{
taskDataGrid.dataProvider.addItem(
{
}
);
}
]]>
</mx:Script>
<mx:Panel x="20" y="250" width="75%" height="20%" layout="absolute" id="taskPanel" title="Review Task Details" >
<mx:VBox width="100%" height="100%" >
<mx:DataGrid id="taskDataGrid" dataProvider="{initDG}" variableRowHeight="true" editable="true" height="85%" width="100%">
<mx:columns>
<mx:DataGridColumn dataField="Select"
editable="true"
rendererIsEditor="true"
itemRenderer="mx.controls.CheckBox"
editorDataField="selected"/>
<mx:DataGridColumn dataField="TaskName"
width="220"
editable="true"
rendererIsEditor="true"
itemRenderer="components.taskComponent"/>
<mx:DataGridColumn dataField="TaskId"
itemRenderer="mx.controls.TextInput" />
<mx:DataGridColumn dataField="TaskType"
itemRenderer="mx.controls.TextInput"/>
<mx:DataGridColumn dataField="ProjectWon"
itemRenderer="mx.controls.TextInput"/>
<mx:DataGridColumn dataField="ItemCode"
itemRenderer="mx.controls.TextInput"/>
<mx:DataGridColumn dataField="ItemVersion"
itemRenderer="mx.controls.TextInput"/>
</mx:columns>
</mx:DataGrid>
<mx:Button id="addTask" label="Add Task" click="addTaskRow(event)"/>
</mx:VBox>
</mx:Panel>
je vous remercie beaucoup .. Je travaille comme je le voulais .. J'ai augmenté la hauteur de la grille de données un peu (de 23 à 30) de sorte que je ne reçois pas une barre de défilement. mais comme j'ajoute des rangs, chaque ligne ajoute de l'espace supplémentaire en bas. Quelle est la raison de cela? – Angeline
Essayez de jouer avec les valeurs paddingTop et paddingBottom sur le DataGrid. Je n'ai malheureusement pas trouvé de moyen fiable de calculer la hauteur exacte du DataGrid. Je vais continuer à regarder bien. –
Accroche-toi, viens de réaliser ce que tu as dit - ce que fait ton code, c'est d'ajouter 30 à la hauteur du datagrid chaque fois que tu ajoutes une ligne - mais chaque nouvelle ligne ajoute moins de 30. De cette façon, le DataGrid devient plus grand a besoin de. Essayez d'ajouter moins de 30 -> commencer par 24 et remonter à partir de là. –