Fórum Localizar item específico no ComboBox #263740
29/12/2004
0
Tecrogerio
Curtir tópico
+ 0Posts
29/12/2004
Marcelo Saviski
ComboBox.ItemIndex := ComboBox.Itens.IndexOf(´item a ser encontrado´);
Gostei + 0
29/12/2004
Tecrogerio
o combobox recebe na criação do form os items de uma tabela (tipo nome do cliente)
esse combobox está em um form de inclusão de dados, só que esse mesmo form é usado para alteração de algum dado da inclusão.
no caso o combobox deve retornar o que estava gravado anteriormente em uma tabela.
até recuperar beleza.
mas localizar esse item no combobox, não está funcionando mesmo com o metodo acima.
grato
Gostei + 0
29/12/2004
Tecrogerio
Gostei + 0
29/12/2004
Euclides
Bom eu utilizo o mesmo comando em que o Marcelo utiliza ..... O que não esta funcionando ???? acho que este seria o único método para localizar o item dentro do combobox ......
Abraços
Gostei + 0
29/12/2004
Tecrogerio
o Combobox simplesmente não traz o item selecionado
entendeu.
como eu tento alterar um dado previamente cadastrado preciso que ele traga o valor gravado.
o IndexOf, seleciona o item ou apenas localiza???
Gostei + 0
29/12/2004
Euclides
Então o IndexOf ele localiza e tambem seleciona.
Será que existe realmente o valor que ele esta procurando ??? atente para espaços em branco no final da string isto é um diferencial tambem !!!!!
Abraços
Gostei + 0
29/12/2004
Tecrogerio
os itens do combobox são adicionados no OnCreate do form, e vem de uma tabela,
ao tentar localizar o item, eu busco usando o campo da mesma tabela.
não tô entendendo.
Gostei + 0
29/12/2004
Euclides
Voce esta usando o ComboBox mesmo ou o DbComboBox ????
poderia colocar o código para agente vizualisar ????
Abraços
Gostei + 0
29/12/2004
Tecrogerio
mas é assim
em um form de INCLUSÃO eu uso um COMBOBOX para listar o campo nome do cliente, que foi incluso no COMBOBOX atraves de uma query
conforme abaixo
CmbBoxClientes.Items.Clear;
DtmPrincipal.QryClientes.Prepare;
DtmPrincipal.QryClientes.Open;
While Not DtmPrincipal.QryClientes.Eof do begin
CmbBoxClientes.Items.Append(DtmPrincipal.QryClientesNomeCli.Value);
DtmPrincipal.QryClientes.Next;
end;
DtmPrincipal.QryClientes.Close;
Entendeu.
mas ao tentar ALTERAR os dados inclusos, já que uso o mesmo FORM, queria que ele retorna-se o cliente, já que busco na mesma tabela de origem.
FrmRvt.CmbBoxClientes.Items.IndexOf(DtmPrincipal.TblClienteNomeCli.Text);
Entendeu??
Gostei + 0
29/12/2004
Tecrogerio
mas é assim
em um form de INCLUSÃO eu uso um COMBOBOX para listar o campo nome do cliente, que foi incluso no COMBOBOX atraves de uma query
conforme abaixo
CmbBoxClientes.Items.Clear;
DtmPrincipal.QryClientes.Prepare;
DtmPrincipal.QryClientes.Open;
While Not DtmPrincipal.QryClientes.Eof do begin
CmbBoxClientes.Items.Append(DtmPrincipal.QryClientesNomeCli.Value);
DtmPrincipal.QryClientes.Next;
end;
DtmPrincipal.QryClientes.Close;
Entendeu.
mas ao tentar ALTERAR os dados inclusos, já que uso o mesmo FORM, queria que ele retorna-se o cliente, já que busco na mesma tabela de origem.
FrmRvt.CmbBoxClientes.Items.IndexOf(DtmPrincipal.TblClienteNomeCli.Text);
Entendeu??
Gostei + 0
29/12/2004
Euclides
Se puder mande esta unit pro meu email ....
eeuclides@ig.com.br
abraços
Gostei + 0
29/12/2004
Tecrogerio
te envio depois.
Gostei + 0
29/12/2004
Andremuller
Gostei + 0
29/12/2004
Adilsond
FrmRvt.CmbBoxClientes.ItemIndex := FrmRvt.CmbBoxClientes.Items.IndexOf(DtmPrincipal.TblClienteNomeCli.Text);
Ou seja, o IndexOf localiza e retorna o índice onde se encontra o cliente e este índice é deve ser passado para o ItemIndex para que o mesmo seja colocado como corrente.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)