Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Deh Bontempos

Preencher um datagrid baseado em dados de 2 tabelas

Recommended Posts

Ola, vou resumir, é bem simples.

 

Tenho 2 tabelas:

ORDERS e CLIENTS.

 

a tabela ORDERS tem as colunas: order_id, client_id, status.

a tabela CLIENTS: client_id, client_name.

 

Meu datagrid mostra as colunas: order_id, client_name, status.

 

é só.

Não estou conseguindo fazer isso decentemente no flex, sem parecer uma gambiarra de outro mundo.

Não estou acoscumado com o workflow, e provavelmente estou usando uma metodologia errada. Alguem poderia me iluminar?

 

A única coisa mais "correta" que tentei fazer, foi criar uma arraycollection formada dos dados com os quais eu preencheria o datagrid.

Ainda que minha AC fosse [bindable], o datagrid não se atualiza. O datagrid só se atualiza se coloco os dados diretos do call responder.

 

Tentei tb pegar os dados do call responder na propriedade lastResults da tabela ORDERS e inserir nela uma nova coluna (client_name) que vem da tabela CLIENTS.

 

Não consegui fazer isso por uma série de motivos.

1 - pra buscar o client_name, eu preciso separar o client_id que vem da tabela ORDERS e fazer um chamar um novo 'call responder' utilizando o metodo getItemById. E isso cria um 'delay' no looping. Ou seja, enquanto o looping está rodando, o call responder ainda está buscando na tabela CLIENTS o client_name do loop anterior.... acho que não é por aí.

 

2 - não consegui de jeito nenhum inserir uma nova propriedade dentro do item na array collection. A propriedade ADD ITEM iria apenas inserir um novo objeto juntamente com as ordens, e não criaria um novo campo dentro da ordem. Se isso: " ac.source.push({client_name:clientName} " funcionasse, seria bom.

 

 

Meu objetivo é apenas preencher o datagrid com estes dados que são conseguidos de 2 tabelas.

 

Alguma sugestão?

 

Obrigado

 

Btp~

Compartilhar este post


Link para o post
Compartilhar em outros sites

A linguagem server-side que você ta usando? Pois esta fará a consulta nesse caso um join entre as duas tabelas e retornará para o flex, la no flex você joga isso que vem em uma variavel ArrayCollection, e essa variavel é que irá pro dataProvider do dataGrid.

 

Mostra seus códigos.

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sou iniciante em Flex, mas acredito que seu problema seja a nível de SQL.

 

Se você irá usar essa consulta de forma constante, eu sugiro você criar um view, com os dados desse join direto no BD.

 

a partir desse momento você faz qualquer consulta SQL de forma direta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.