AlexBEE Postado Maio 29, 2006 Denunciar Share Postado Maio 29, 2006 Ola a TodosEu estou com um problema, eu tenho que colocar um evento de OnClicK e um Evento OnEnter em uma CELULA do DBGrid.Eu quero fazer tipo aquele negocio de selecionar um ESTADO e no outro campo so mostrar as cidades daquele estado!!!!!!!!!Eu estou usando campo DBLookupComboBox dentro das celulas da Tabela do DbGrid.ALGUÉM SABE ENTÃO COMO COLOCAR EVENTOS EM ALGUNS CAMPOS DA TABELA E NÃO NA TABELA TODA!!!!!!????????OBRIGADOALEXANGELO Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Maio 29, 2006 Denunciar Share Postado Maio 29, 2006 E se você utilizar o evento OnChange do field referente ao estado (field do dataset utilizado no DBGrid) e usar o valor deste campo para filtrar a query que você, provavelmente, utiliza como loockup para cidade? Não resolveria? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 AlexBEE Postado Maio 29, 2006 Autor Denunciar Share Postado Maio 29, 2006 Ola AmigoPode dar certo, eu so vou ter que alterar o cadigo que eu já tenho pronto, mais valeu a dica. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 AlexBEE Postado Maio 29, 2006 Autor Denunciar Share Postado Maio 29, 2006 OlaEu utilizava 2 eventos para fazer esse negocio do estado e cidade, eu usava esse codigo:procedure TfrmCliente.DBLookupComboBox1Click(Sender: TObject); begin inherited; DM.SqlkCidade.Filter := ''; DM.SqlkCidade.Filtered := False; DBLookupComboBox2.KeyValue := 0; end; procedure TfrmCliente.DBLookupComboBox2Enter(Sender: TObject); begin inherited; if (DBLookupComboBox1.Text) <> '' then begin DM.SqlkCidade.Refresh; DM.SqlkCidade.Filter := 'ID_UF = ' + IntToStr(DBLookupComboBox1.KeyValue); DM.SqlkCidade.Filtered := True; end else begin DM.SqlkCidade.Filter := ''; DM.SqlkCidade.Filtered := False; ShowMessage('ESCOLHA PRIMEIRO UM ESTADO!!!!'); DBLookupComboBox1.SetFocus; Exit; end; end; so que eu não consegui adapitar esse codigo para fazer a mesma coisa no evento OnChange!!!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Maio 29, 2006 Denunciar Share Postado Maio 29, 2006 Agora que você postou esse código, queria exclarecer que a sugestão que dei anteriormente baseava-se na possibilidade de você estar utilizando um Loockupfield (acho que é isto) no seu dataset, o que faz com que um um combobox seja automaticamente criado dentro do seu DBGrid. Mas vejo que não era o caso. No momento não poderei lhe ajudat, aqui onde estou não tenho o D7 então não lembro de cabeça os detalhes. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 AlexBEE Postado Maio 29, 2006 Autor Denunciar Share Postado Maio 29, 2006 belezaMais valeu ate agora, você me ajudou MUITO hoje!!!!!!!!!!!1 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 AlexBEE Postado Junho 1, 2006 Autor Denunciar Share Postado Junho 1, 2006 Olaninguém sabe como eu posso fazer isso??????????? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Junho 1, 2006 Denunciar Share Postado Junho 1, 2006 Seria isto talvez?procedure TfrmCliente.DBLookupComboBox1Change(Sender: TObject); begin inherited; DM.SqlkCidade.Filtered := False; DM.SqlkCidade.Filter := ''; DBLookupComboBox2.KeyValue := 0; DM.SqlkCidade.Filter := 'ID_UF = ' + IntToStr(DBLookupComboBox1.KeyValue); DM.SqlkCidade.Filtered := True; DM.SqlkCidade.Refresh; end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 AlexBEE Postado Junho 1, 2006 Autor Denunciar Share Postado Junho 1, 2006 OKMais esse codigo eu colocaria a onde??????????Lembrando que este campo esta dentro de DbGrid!!!!!!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 AlexBEE Postado Junho 1, 2006 Autor Denunciar Share Postado Junho 1, 2006 OkEu consegui fazer com esse codigo que você passou!!!!!!!So tem um probleminha como eu estou trabalhando com o DBGrid, pode-se colocar varios registros, quando você so colocar 1 registro é perfeito, so que quando você começa a colocar mais de 1 registro começa a perder os registros anteriores!!!!!!!!!!!!você teria alguma ideia de como reselver isso??????????? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 AlexBEE Postado Junho 1, 2006 Autor Denunciar Share Postado Junho 1, 2006 OlaEu consegui diagnosticar exatamente o meu Problema!!!!!!!!!!!!O problema é o mesmo que esta acontecendo com todas as telas que Utilizam Cidade e Estado!!!!!!!!!Quando eu seleciono um estado e uma cidade e salvo, todos os outros registro daquela tela que não forem o estado selecionado a cidade desaparece, so que quando ele fecho e abro o programa estodas la.EX:Eu tenho varios registros de um cadrastro de CLientes, e utilizo vairos Estados e Cidade: Tipo:1 - MATO GROSSO DO SUL - CAMPO GRANDE2 - MINAS GERAIS - BELO HORIZONTE3 - RIO DE JANEIRO - RIO DE JANEIRO4 - SÃO PAULO - CAMPINAS5 - RIO DE JANEIRO - CABO FRIO So que se eu Fazer um Cadrastro Tipo para o Estado do "RIO DE JANEIRO" e cidade de "NITEROI" e salvar, quando eu navego pelos registros daquela tabela TODOS os estados que não forem "RIO DE JANEIRO" as cidades desaparesem, e as Cidade do estado de "RIO DE JANEIRO" ficam Normais, se agora eu fazer um registro para outro estado vai acont4ecer a mesma coisa so que para esse novo estado escolido!!!!!!!!!O Codigo que eu utilizo para fazer esse filtro é: procedure TfrmCliente.DBLookupComboBox1Click(Sender: TObject); begin inherited; DM.SqlkCidade.Filter := ''; DM.SqlkCidade.Filtered := False; DBLookupComboBox2.KeyValue := 0; end; procedure TfrmCliente.DBLookupComboBox2Enter(Sender: TObject); begin inherited; if (DBLookupComboBox1.Text) <> '' then begin DM.SqlkCidade.Refresh; DM.SqlkCidade.Filter := 'ID_UF = ' + IntToStr(DBLookupComboBox1.KeyValue); DM.SqlkCidade.Filtered := True; end else begin DM.SqlkCidade.Filter := ''; DM.SqlkCidade.Filtered := False; ShowMessage('ESCOLHA PRIMEIRO UM ESTADO!!!!'); DBLookupComboBox1.SetFocus; Exit; end; end; alguém SABE O QUE ESTA ACONTECENDO??????????????????? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 AlexBEE Postado Junho 1, 2006 Autor Denunciar Share Postado Junho 1, 2006 alguém Pode me AJUDAR???????? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
AlexBEE
Ola a Todos
Eu estou com um problema, eu tenho que colocar um evento de OnClicK e um Evento OnEnter em uma CELULA do DBGrid.
Eu quero fazer tipo aquele negocio de selecionar um ESTADO e no outro campo so mostrar as cidades daquele estado!!!!!!!!!
Eu estou usando campo DBLookupComboBox dentro das celulas da Tabela do DbGrid.
ALGUÉM SABE ENTÃO COMO COLOCAR EVENTOS EM ALGUNS CAMPOS DA TABELA E NÃO NA TABELA TODA!!!!!!????????
OBRIGADO
ALEXANGELO
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.