evitar duplicidade no combobox
colegas, como evitar que seja inserido mais de um registro igual em um combobox?
tentei trabalhar com o metodo IndexOf mas nao cheguei a lugar algum...
abraços!
tentei trabalhar com o metodo IndexOf mas nao cheguei a lugar algum...
abraços!
Mahdak
Curtidas 0
Respostas
Pestana_
04/01/2008
você está está preenchendo o combo através de um select? caso sim, faça esse tratamento no select.
agora para evitar duplicidade no proprio combo eu não sei.
flw.
agora para evitar duplicidade no proprio combo eu não sei.
flw.
GOSTEI 0
Pestana_
04/01/2008
tentei trabalhar com o metodo IndexOf mas nao cheguei a lugar algum...
se eu não me engano o [i:b5bb6efdb5]IndexOf[/i:b5bb6efdb5] retorna o indice do item.
GOSTEI 0
Jose Almeida
04/01/2008
Olá amigo.
Use esta função:
function StrIsInList(Lista:TStrings;Str:string): boolean;
var
Cont:integer;
begin
Result:=false;
for Cont:=0 to Lista.Count-1 do
if Str = (Lista.Strings[Cont])then
begin
Result:=true;
Exit;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if not(StrIsInList(ComboBox1.Items,Edit1.Text)) then
ComboBox1.Items.Add(Edit1.Text);
end;
Se o String não está no ComboBox, então adiciona.
Use esta função:
function StrIsInList(Lista:TStrings;Str:string): boolean;
var
Cont:integer;
begin
Result:=false;
for Cont:=0 to Lista.Count-1 do
if Str = (Lista.Strings[Cont])then
begin
Result:=true;
Exit;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if not(StrIsInList(ComboBox1.Items,Edit1.Text)) then
ComboBox1.Items.Add(Edit1.Text);
end;
Se o String não está no ComboBox, então adiciona.
GOSTEI 0
Micheus
04/01/2008
Um exemplo utilizando o IndexOf citado pelo colega [b:b18ef39ebf]Pestana_[/b:b18ef39ebf]:
procedure TForm1.ComboBox1Exit(Sender: TObject); begin if ComboBox1.Items.IndexOf(ComboBox1.Text) = -1 then ComboBox1.Items.Add(ComboBox1.Text); end;
GOSTEI 0
Pestana_
04/01/2008
Um exemplo utilizando o IndexOf citado pelo colega [b:0858c9c199]Pestana_[/b:0858c9c199]:
procedure TForm1.ComboBox1Exit(Sender: TObject); begin if ComboBox1.Items.IndexOf(ComboBox1.Text) = -1 then ComboBox1.Items.Add(ComboBox1.Text); end;
boa [b:0858c9c199]micheus[/b:0858c9c199] deste jeito resolve o problema do mahdak.
flw.
GOSTEI 0