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

Felipe

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

Emerson Nascimento
Responder

Gostei + 1

Mais Posts

29/11/2019

Felipe

muito obrigado parceiro
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar