Olás, Estou com um problema parecido, se alguem pudesse ajudar tambem....
eu tenho um componente que tem um AdvancedDataGrid inicialmente com uma coluna só que é padrão, de tamanho fixo, criada no mxml. Depois quando eu vou usar esse componente em outras telas eu recebo um array com as colunas específicas, concateno com o array de colunas do datagrid (que so tinha a coluna fixa, deixando ela por ultimo) e atribuo à grid de novo: *var array:Array = colunasEspecificas.source.concat(adg.columns); adg.columns = array; * O problema é que mesmo as colunas especificas tendo tamanho percentual, não são elas que redimensionam, e sim a ultima, que tinha tamanho fixo. Alguem sabe dizer se é errado o jeito que estou fazendo, ou como posso forçar ele a respeitar quais tem tamanho fixo e quais tem tamanho proporcional? Grata! 2009/11/11 thiagoalgo <thiagoa...@gmail.com> > > Você pode colocar uma coluna em branco no final sem tamanho definido > para que esta preencha o espaço que sobra no grid. Aparentemente seu > problema está acontecendo porque você define um tamanho fixo para > coluna mas um tamanho de 100% para o grid. Como o total da soma dos > tamanhos das colunas não chega a preencher o grid, o componente acaba > resimensionado a última coluna. > > On 10 nov, 14:49, Marcos Krüger <kr.mar...@gmail.com> wrote: > > Boa tarde Pessoal, > > > > Alguem pode me ajudar a saber a solução do bug que a ultima coluna da > > AdvancedDataGrid está > > com largura maior que as outras e não tem nada que sete isso no código > para > > a ultima coluna fica com o tamanho maior. > > Obs: A primeira coluna é maior que as outras, tá funcionando normal, > tentei > > adiciona uma coluna nova depois da ultima, a > > coluna que tava largura superior a outras fica com o tamanho normal e a > nova > > coluna fica com tamanho superior. > > > > Alguem tem alguma ideia do que pode ser?! Abaixo segue o código do file. > > > > package > > { > > import mx.collections.*; > > import mx.containers.Canvas; > > import mx.controls.AdvancedDataGrid; > > import mx.controls.Alert; > > import mx.controls.advancedDataGridClasses.*; > > import mx.controls.dataGridClasses.DataGridColumn; > > import mx.core.ClassFactory; > > import mx.core.UIComponent; > > public class DateTimeLineGenerator extends UIComponent > > { > > private var _monthNames:Array = > > ["Jan","Feb","Mar","Abr","Mai","Jun","Jul","Aug","Set","Out","Nov","Dez"] > > private var _adg:AdvancedDataGrid; > > private var startDate:Date; > > private var finDate:Date; > > public function DateTimeLineGenerator() > > { > > super();} > > > > public function getInstance():UIComponent > > { > > return super;} > > > > private function formatTextColunn(texto:String, size:int):String > > { > > if(texto.length>size) > > { > > var textoDividido:Array = texto.split(" "); > > Alert.show(textoDividido[0],"teste"); > > if(textoDividido.length <= 0) > > { > > Alert.show("Impossível dividir o texto "+ texto + "tamanho de " + size + > > "insuficiente");} > > > > } > > return texto;} > > > > override protected function createChildren():void > > { > > super.createChildren(); > > _adg = new AdvancedDataGrid(); > > _adg.setStyle("verticalGridLines",false); > > addChild(_adg);} > > > > override protected function updateDisplayList(width:Number, > > height:Number):void > > { > > _adg.width = width; > > _adg.height = height; > > _adg.rowHeight = 80; > > _adg.dataProvider = parentApplication.viewsActivity; > > drawTimeLine();} > > > > private function setDate(date:String):Date > > { > > var t:Array = date.split("/"); > > return new Date(t[2],t[1],t[0]);} > > > > private function drawTimeLine():void > > { > > var grpColsArray:Array = new Array(); > > finDate = > > setDate(parentApplication.viewsProject.source[1].Projeto[0].finishDate); > > startDate = > > setDate(parentApplication.viewsProject.source[1].Projeto[0].startDate); > > var countYear:Number = finDate.getFullYear() - startDate.getFullYear(); > > var tempYear:Number = startDate.getFullYear(); > > var countMonth:Number = finDate.getMonth(); > > var totgroups:Number = 0 > > var adgc:AdvancedDataGridColumn; > > var columnActivits:AdvancedDataGridColumn; > > var k:int; > > if(finDate.getMonth()==0) > > { > > countYear = countYear-1;} > > > > columnActivits = new AdvancedDataGridColumn(); > > columnActivits.headerText="Atividades"; > > columnActivits.width=200; > > columnActivits.dataField="NomeAtividade"; > > columnActivits.setStyle("textAlign","left"); > > columnActivits.setStyle("fontFamily","Verdana"); > > columnActivits.setStyle("fontSize","10"); > > columnActivits.setStyle("fontWeight","bold"); > > columnActivits.setStyle("backgroundColor",0xF9F9F9); > > grpColsArray.push(columnActivits); > > for(var i:int =0; i<=countYear;i++) > > { > > if(i==0) > > k=startDate.getMonth()-1; > > else > > k=0; > > for(k;k<12;k++) > > { > > adgc = new AdvancedDataGridColumn(); > > adgc.width=100; > > adgc.headerText = _monthNames[k] + "/" + > String(tempYear).substring(2,4); > > if(k%2==0) > > { > > adgc.setStyle("backgroundColor",0xFFFFFF); > > } > > else > > { > > adgc.setStyle("backgroundColor",0xF6F6F6); > > } > > grpColsArray.push(adgc); > > if(i==countYear && k==countMonth-1) > > { > > break; > > } > > } > > tempYear++;} > > > > _adg.groupedColumns = grpColsArray > > _adg.headerRenderer = new ClassFactory(LabelHeaderRenderer); > > _adg.validateNow(); > > _adg.resizableColumns=false; > > _adg.sortableColumns=true; > > _adg.verticalScrollPolicy="auto"; > > _adg.horizontalScrollPolicy="auto"; > > var rparray:Array = new Array(); > > var rp:AdvancedDataGridRendererProvider = new > > AdvancedDataGridRendererProvider(); > > rp.columnIndex=1; > > rp.columnSpan=0; > > rp.renderer= new ClassFactory(DataRenderer); > > rparray.push(rp); > > > > rp.rowSpan=0; > > _adg.rendererProviders = rparray; > > _adg.validateNow(); > > > > } > > } > > } > > > > > > > > componente.JPG > > 165KExibirDownload > > > --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---