Posts Tagged ‘DataGrid’
Flex Erro #1034: Não é possível converter DragManagerImpl em IDragManager
Dias atrás me deparei com o erro abaixo:
Esse erro ocorria sempre ao acessar dois módulos que tivessem DataGrid com eventos de clique. Acessando o primeiro módulo, tudo funcionava perfeitamente, porém ao acessar o segundo módulo e clicar em qualquer parte da DataGrid, o erro surgia.
Após várias pesquisas acabei encontrando a solução.
Portanto caso você esteja passando por essa dificuldade, mude o modo de linkagem do framework para Runtime Shared Library (RSL), disponível em:
Project Properties | Flex Build Path | Library Path | Framework linkage
Conforme na imagem abaixo:
Pronto, seu projeto agora funcionará perfeitamente.
Divirta-se.
Adobe Flex – Criar colunas dinamicamente na DataGrid
O título pode até não ser chamativo, visto que o Adobe Flex cria automaticamente colunas com base em seu dataProvider como no exemplo abaixo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <mx :Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"> </mx><mx :Script> < ![CDATA[ [Bindable] private var dp:Array = [ { symbol: "ADBE", name: "Adobe Systems Inc.", price1: 49.95, price2: 49.95, price3: 49.95, price4: 49.95, price5: 49.95 }, { symbol: "MACR", name: "Macromedia Inc.", price1: 49.95, price2: 49.95, price3: 49.95, price4: 49.95, price5: 49.95 }, { symbol: "MSFT", name: "Microsoft Corp.", price1: 49.95, price2: 49.95, price3: 49.95, price4: 49.95, price5: 49.95 }, { symbol: "IBM", name: "IBM Corp.", price1: 49.95, price2: 49.95, price3: 49.95, price4: 49.95, price5: 49.95 }, { symbol: "ADBE", name: "Adobe Systems Inc.", price1: 49.95, price2: 49.95, price3: 49.95, price4: 49.95, price5: 49.95 }, { symbol: "MACR", name: "Macromedia Inc.", price1: 49.95, price2: 49.95, price3: 49.95, price4: 49.95, price5: 49.95 } ]; private function init():void { dgDado.dataProvider = dp; } ]]> </mx> <mx :DataGrid id="dgDado" /> |
Ou seja, de uma maneira bem simples, temos uma DataGrid com as colunas criadas automaticamente em tempo de execução com o seguinte resultado:
Mas perceba que o resultado obtido não é dos melhores, pois todas as colunas estão com o mesmo tamanho, as células com valores não possuem formatação, em fim, não tem qualquer personalização.
O meu propósito com esse post é compartilhar com você, como criar colunas de uma DataGrid de formata dinâmica com base no DataProvider.
Adobe Flex – Exportar Datagrid para Excel
Se você é um desenvolvedor Flex de sistemas gerenciais com consultas ad-hoc como eu, se ainda não precisou, com certeza um dia irá precisar exportar os dados de uma Datagrid para o Microsoft Excel.
Abaixo mostrarei como realizar essa exportação.
Modelo de consultas e relatórios ad-hoc no Adobe Flex
Com base no post do Vedovelli, sobre relatórios no Adobe Flex, resolvi postar sobre o assunto, para não tornar a resposta muito extensa no blog dele.
Primeiro vamos pro conceito de consultas ad-hoc:
Bill Inmon conceitua consulta ad-hoc como: “São consultas com acesso casual único e tratamento dos dados segundo parâmetros nunca antes utilizados, geralmente executado de forma iterativa e heurística. Isso tudo nada mais é do que o próprio usuário gerar consultas de acordo com suas necessidades de cruzar as informações de uma forma não vista e com métodos que o levem a descoberta daquilo que procura.”
Adobe Flex: Trocar de figura no DataGrid de acordo com o DataProvider
Em um projeto com Adobe Flex precisei alterar a imagem de uma determinada célula no DataGrid de acordo com o valor originado do DataProvider.
Por exemplo, se no DataProvider o campo STATUS vier preenchido com 0 deve ser exibida a imagem off.png, caso contrário, dever ser exibida a imagem on.png.
Após várias pesquisas no Google, fiz uma compilação dos casos semelhantes e cheguei ao resultado que eu desejava.
Abaixo segue o código com essa funcionalidade.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ [Bindable] private var arAlternate:Array = new Array({"STATUS":0},{"STATUS":1},{"STATUS":1},{"STATUS":0},{"STATUS":1},{"STATUS":0}); ]]> </mx:Script> <mx:DataGrid id="dgAlternate" width="60" dataProvider="{arAlternate}"> <mx:columns> <mx:DataGridColumn headerText='Status'> <mx:itemRenderer> <mx:Component> <mx:Image horizontalAlign="center" width="32" height="32" source="{data.STATUS == 0 ? 'off.png' : 'on.png'}" /> </mx:Component> </mx:itemRenderer> </mx:DataGridColumn> </mx:columns> </mx:DataGrid> </mx:Application> |
O resultado final obtido foi:













