Fórum Grid #219147
08/03/2004
0
No meu form., tenho uma grid de 2 colunas com seus respectivos campos do tipo lookup: Unidade e Setor. Quando clico dentro da coluna Unidade ou Setor, tanto faz, na coluna do Setor, consigo listar os Setores q pertencem a Unidade marcada dentro da coluna de Unidade. Até aí nenhum problema, ..., a questão é q qd defino por exemplo, 3 tipos de Unidades diferentes para 3 Setores diferentes (em 3 diferentes linhas de registro dentro da grid), alguns valores selecionados dentro da coluna Setor, se apagam! Mas se eu clicar dentro das células da coluna Setor, abrindo a lista, vejo q os valores q eu havia selecionado anteriormente, ainda estão selecionados, isto é, salvos. Na verdade o q estou querendo fazer funciona, consigo salvar o registro principal com seus respectivos filhos, sem nenhum problema, e na hora de gerar o relatório, tudo o q foi salvo, aparece no preview, sem qualquer problema, ..., a única coisa q eu quero é fazer com q todos os Setores pra suas respectivas Unidades apareçam na Grid, pra q o usuário consiga visualizar os itens q ele selecionou, só isso. O q devo fazer???
Meu código:
- qryConsSet (ID_Set, ID_Unid, Setor) -
- evento BeforePost de qryCadAudUnidSet -
- evento OnDataChange de dsCadAudUnidSet -
OBS: a query: qryCadAud está relacionada com Aud, q é minha tabela pai e a query: qryCadAudUnidSet está relacionada com Aud_Unid_Set, q é minha tabela filho.
OBS2: espero q tenham entendido esse meu problema, hehehe.
Meu código:
- qryConsSet (ID_Set, ID_Unid, Setor) -
SELECT Setor.*
FROM Setor
WHERE Setor.ID_Unid =:prmIDUnid
UNION SELECT MAX(ID_Set) + 1, ´´, ´´
FROM Setor
ORDER BY Setor.Setor
- evento BeforePost de qryCadAudUnidSet -
Procedure TfrmDm.qryCadAudUnidSetBeforePost(DataSet: TDataSet);
Begin
frmDm.qryCadAudUnidSetID_Aud.Value := qryCadAudID_Aud.Value;
End;
- evento OnDataChange de dsCadAudUnidSet -
Procedure TfrmDm.dsCadAudUnidSetDataChange(Sender: TObject; Field: TField);
Begin
frmDm.qryConsSet.Close;
frmDm.qryConsSet.ParamByName(´prmIDUnid´).AsInteger := frmDm.qryCadAudUnidSetID_Unid.Value;
frmDm.qryConsSet.Open;
End;
OBS: a query: qryCadAud está relacionada com Aud, q é minha tabela pai e a query: qryCadAudUnidSet está relacionada com Aud_Unid_Set, q é minha tabela filho.
OBS2: espero q tenham entendido esse meu problema, hehehe.
D4rk_schn31d3r
Curtir tópico
+ 0
Responder