FLEXGRID PARA FLEXGRID

USUARIO.EXCLUIDOS 13/12/2006 13:24:57
#189707
pessoal , tenho um formulario de ordem de servico com um flexgrid , e nesse formulario tem um botao que chama um formulario com outro flexgrid, com as descricoes dos produtos, ae o que acontece , eu quero que quando o flexgrid de produtos for clicado 2 vezes, a tela tem que sumir, e o flexgrid do formulario de ordem de servico pegue os valores , do flexgrid de produtos.

OBS: porem nao pode ser todos os dados, tem que ser no produto que eu clicar no flexgrid de produtos , para exportar para o flexgrid da ordem de servico.

Grato desde já :p


LUIS.HERRERA 13/12/2006 13:44:19
#189711
Ger você pode no clique do grid, pegar a coluna ou linha selecionada (onde foi dado o clique) e baseado na coluna onde tem o valor do produto, efetuar uma nova consulta no DB desse produto, então terá o RS com os dados desejados.

Depois basta dar um hide neste form e chamar o outro com o flexgrid que deseja, passando para ele os dados do seu RS, muito simples.

Contudo se no primeiro grid já tiver todos os dados, não precisará efetuar outra consulta, basta fazer um loop pelos campos e povoar o outro.

Você ten vários caminhos, ou passa o id do produto por parà¢metro para o novo form e este faz a consulta povoando o novo grid, ou usa uma variável pública, etc...

para saber qual a id do produto clicado, use algo assim:

evento clique ou duplo clique do grid
dim IDProduto as Long
lID = myGrid.TextMatrix(.RowSel, 0) ' onde 0 = número da coluna do id

Acho que fica fácil agora.
USUARIO.EXCLUIDOS 13/12/2006 14:10:14
#189722
vishh fiz bem diferente, porque tipow o meu flexgrid de produtos ja esta junto a um odbc, numa consulta a meu banco de dados mysql.

dae fiz da seguinte formae funcionou , so nao sei se é a forma correta , mais esta funcionando , ate porque eu nao quero todos os dados da tabela produtos, eu quero somente alguns, segue a abaixo o que foi feito.

Private Sub flexprodutos_DblClick()
frmordemservico.flexordprodutos.TextMatrix(frmordemservico.flexordprodutos.Rows - 1, 0) = flexprodutos.TextMatrix(flexprodutos.Row, 0)
frmordemservico.flexordprodutos.TextMatrix(frmordemservico.flexordprodutos.Rows - 1, 1) = flexprodutos.TextMatrix(flexprodutos.Row, 3)
frmordemservico.flexordprodutos.TextMatrix(frmordemservico.flexordprodutos.Rows - 1, 2) = flexprodutos.TextMatrix(flexprodutos.Row, 4)
frmordemservico.flexordprodutos.Rows = frmordemservico.flexordprodutos.Rows + 1
Call ajusta(frmordemservico.flexordprodutos)
Unload Me
End Sub


dessa forma eu consigo colocar os dados em flexgrid de ordem de servico.

Gostaria de saber se devo deixar dessa forma, ou posso ter problema no futuro ????

Grato desde já
USUARIO.EXCLUIDOS 13/12/2006 14:23:00
#189723
pelo q vi nao tem problema nenhum !
USUARIO.EXCLUIDOS 13/12/2006 15:13:11
#189736
certo por enquanto vou continuar dessa forma, vou deixar o topico em aberto, por mais algum tempo , somente para ver se consigo mais uma dica em relacao a issow.

vlw's

fico no aguarde
Tópico encerrado , respostas não são mais permitidas