Foi a imagem errada no e-mail.. rs...
On 9/4/07, Gleison Silva <[EMAIL PROTECTED]> wrote:
> Oi, Rodrigo! Obrigado pela paciencia... vou postar o q já fiz pra vc
> ter uma idéia melhor...
>
> Primeiramente os requisitos: Exibir uma coleção em um DataGrid. Essa
> coleção possui um tamanho indeterminado, de modo que o número de
> colunas do DataGrid só é conhecido no momento da execução.
>
> Diante disso, precisei extender o DataGrid como vc pode ver no código abaixo:
>
> public class Planilha extends DataGrid
> {
> private var colunaCorrente:DataGridColumn;
> private var _numeroDeColunas:int = 0;
>
> public function Planilha()
> {
> addEventListener(FlexEvent.INITIALIZE, initializeHandler);
> }
>
> private function initializeHandler(event:FlexEvent):void
> {
> // Define um objeto para guardas as colunas
> // Define o número de colunas + as 3 padrões (item,nome,valor)
> var colunas:Array = new Array(_numeroDeColunas);
>
> // Cria as colunas padrão com o item e o valor
> colunaCorrente = new DataGridColumn();
> colunaCorrente.headerText="Código";
> colunaCorrente.dataField="id";
> colunaCorrente.width=60;
> colunas[0] = colunaCorrente;
>
> colunaCorrente = new DataGridColumn();
> colunaCorrente.headerText="Descrição";
> colunaCorrente.dataField="nome";
> colunaCorrente.width=300;
> colunas[1] = colunaCorrente;
>
> colunaCorrente = new DataGridColumn();
> colunaCorrente.headerText="Valor";
> colunaCorrente.dataField="valor";
> colunaCorrente.width=80;
> colunas[2] = colunaCorrente;
>
> for(var x:int; x<_numeroDeColunas; x++)
> {
> colunaCorrente = new DataGridColumn();
> colunaCorrente.headerText="Coluna"+x;
> colunaCorrente.itemRenderer = new
> components.CustomNumericStepper();
>
> colunas[x+3] = colunaCorrente;
> }
>
> columns=colunas;
> }
>
>
> No MXML da minha página eu chamo esse componente assim:
> <custom:Planilha numeroDeColunas="{conta.dias}" dataProvider="{conta.itens}"/>
>
> Como vc pode ver, dado o número de colunas que serão necessárias, ele
> monta o grid... para cada "dia de faturamento de uma determinada
> conta" eu preciso de uma coluna no grid.
>
> Em cada coluna eu gostaria que aparecessem duas informações: uma
> quantidade estática e uma outra quantidade que o usuário iria
> informar. Para isso, estou tentando implementar um componente usando
> um HBox contendo um Label e um NumericStepper.
>
> O código que já fiz desse componente está abaixo:
>
> public class CustomNumericStepper extends HBox implements IFactory
> {
> private var _quantidadeEstatica:uint;
>
> private var _quantidadeDinamica:uint;
>
> public function NumericStepperQuantity()
> {
> var qtdeFat:Label = new Label();
> var qtdeAdc:NumericStepper = new NumericStepper();
>
> // Fazer o bind para os atributos da coleção
>
> this.addChild(qtdeFat);
> this.addChild(qtdeAdc);
> }
>
> public function newInstance()
> {
> return new NumericStepperQuantity();
> }
>
> Nos dois trechos de código eu omiti os getters e setters q existem...
>
> Qual está sendo meu problema? Fazer os atributos do meu Bean
> aparecerem no Label e no NumericStepper do componente que estou
> tentando criar.
>
> Para piorar, esses valores estão num Array que é um atributo da minha
> coleção. O model que compõe essa coleção está abaixo:
>
> public class ItemVO
> {
> public var id:uint;
> public var nome:String;
> public var valor:Number;
> public var quantidade:Array;
> public var quantidadeCorreta:Array;
> }
>
> No anexo vai uma amostro do q preciso, considerando uma "Conta" que
> possui 5 dias.
>
> Abraço e obrigado novamente.
>
> Gleison
>
> On 9/4/07, Rodrigo Pereira Fraga <[EMAIL PROTECTED]> wrote:
> >
> > Olá Gleison,
> >
> > Desculpas mas eu não consegui entender o que vc quiz dizer..
> >
> > pregar?
> > que parametros?
> >
> > Por favor tente esclarecer seu problema, se possível colocando um pouco de
> > código.
> >
> > Um Abraço!
> > \o/
>
>-- Gleison Silva [EMAIL PROTECTED] --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [EMAIL PROTECTED] Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---
<<inline: ScreenShot002.jpg>>
