No seu caso acredito que o problema esteja no fato de estar utilizando
valores percentuais justamente nas colunas que você não quer que sejam
redimensionadas. Tente colocar 100% para coluna pré-existente
(declarada no mxml) e deixar as demais sem tamanho definido.

On 11 nov, 16:46, Carol Michelassi <carolmichela...@gmail.com> wrote:
> 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
-~----------~----~----~----~------~----~------~--~---

Responder a