Flex Guys,
Невозможно установить высоту строки в AdvancedDataGrid с помощью настраиваемого средства визуализации сетки данных AdvancedDataGridRendererProvider.
Snapcode как здесь
<mx:AdvancedDataGrid id="docId"
visible="true"
width="100%" height="100%"
dataProvider="{data}"
horizontalScrollPolicy="on"
verticalScrollPolicy="on"
styleName="MyStyle"
styleFunction="getRowColours"
headerStyleName="MyStyle2"
>
<mx:columns>
<mx:AdvancedDataGridColumn id="Name" dataField="name"
headerText="Name" />
<mx:AdvancedDataGridColumn id="Value" dataField="values"
headerText="Value"
editable="true" />
</mx:columns>
<mx:rendererProviders>
<mx:AdvancedDataGridRendererProvider id="DocID2"
columnIndex="1" columnSpan="1"
renderer="{new ClassFactory(MyRenderer)}" />
</mx:rendererProviders>
</mx:AdvancedDataGrid>
Пожалуйста, дайте мне знать.. как я должен справиться с этим ..
Я пытался с приведенным ниже кодом
Установите variableRowHeight = true для вашей DataGrid, а затем, внутри вашего rednrerer, отрегулируйте measureHeight во время выполнения, но я не должен устанавливать measureHeightв процентах.
Заранее спасибо.Java
Я переработал его и рабочий код, как показано ниже код ADG и рендерера тоже
<mx:AdvancedDataGrid id="adg" dataProvider="{input}" height="350" variableRowHeight="true" >
<mx:columns>
<mx:AdvancedDataGridColumn dataField="company" headerText="Company"/>
<mx:AdvancedDataGridColumn dataField="product" headerText="Product"/>
</mx:columns>
<mx:rendererProviders>
<mx:AdvancedDataGridRendererProvider id="myDataGridRenderer"
columnIndex="1" columnSpan="1"
renderer="{new ClassFactory(DataGridRowTestRenderer)}" />
</mx:rendererProviders>
</mx:AdvancedDataGrid>
import spark.components.Label;
import spark.components.TextArea;
private var label1:Label;
private var textArea1:TextArea;
private var index:int;
override public function set data(object:Object):void {
super.data = object;
this.removeAllElements();
label1 = new Label();
label1.text = object.company;
this.addElement(label1);
var textArea:TextArea = new TextArea();
//textArea.text = object.product;
//textArea.heightInLines = 2;
index = object.index as int;
textArea.heightInLines = index+1;
textArea.text = object.product;
/* if((index%2) == 0){
textArea.heightInLines = 2;
}else{
textArea.heightInLines = 4;
} */
this.addElement(textArea);
}
override public function validateDisplayList():void{
super.validateDisplayList();
}
]]>