Fórum Descobrir o FieldByName usando o DisplayName #606821
29/11/2019
0
Olá a todos, tenho uma função para add os displaylabel de um dataset em um combobox, esse combobox uso para saber qual campo o usuario vai usar para filtrar os dados, so que para montar a consulta preciso descobrir a qual field esse displaylabel pertence. Agradeço a atenção de todos
Felipe
Curtir tópico
+ 0
Responder
Post mais votado
29/11/2019
uma das formas seria você fazer isso a partir de um array.
ao preencher o combobox, você preenche também um array, para referenciar o campo.
crie um array para guardar o conteúdo
arrayfiels: array of array[0..1] of string;
depois, no momento do preenchimento do combo, preencha também o array:
var
i: integer;
begin
SetLength(arrayfiels, 0);
for i := 0 to ClientDataSet1.Fields.Count-1 do
begin
// adiciona o campo no combobox
ComboBox1.Items.Add(ClientDataSet1.Fields[i].DisplayName);
// adiciona o campo no array
SetLength(arrayfiels, Length(arrayfiels)+1);
arrayfiels[High(arrayfiels),0] := ClientDataSet1.Fields[i].Name;
arrayfiels[High(arrayfiels),1] := ClientDataSet1.Fields[i].DisplayName;
end;
não sei como você implementou a busca, mas é possível procurar no array pelo index do combo (que seria o mesmo do array), ou pelo displaylabel, que está contido no array.
Emerson Nascimento
Responder
Gostei + 1
Mais Posts
29/11/2019
Felipe
muito obrigado parceiro
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)