Como se referir a uma coluna do DBGrid pelo nome?

Delphi

27/02/2005

em um procedimento estou me referindo as colunas da DBGrid atraves dos íncices das colunas. Mas acho que é mais seguro me referir pelo nome. como posso fazer?


Raserafim

Raserafim

Curtidas 0

Respostas

Bon Jovi

Bon Jovi

27/02/2005

Nao sei se a DBGrid tem função pra isso. Senão faça algo assim:

Se vc tiver uma DBGrid sua:

function TSuaDBGrid.GetColumn(AFieldName: string): TColumn;
var
  i: integer;
begin
  Result := nil;
      
  for i := 0 to Self.Columns.Count - 1 do
  begin
    if AnsiUpperCase(Self.Columns[i].FieldName) = AnsiUpperCase(AFieldName) then
       Result := Self.Columns[i];
  end;  
end;


Senão, faça uma função:

function GetColumn(ADBGrid: TDBGrid; AFieldName: string): TColumn;
var
  i: integer;
begin
  Result := nil;

  if not Assigned(ADBGrid) then
    Exit;

  for i := 0 to ADBGrid.Columns.Count - 1 do
  begin
    if AnsiUpperCase(ADBGrid.Columns[i].FieldName) = AnsiUpperCase(AFieldName) then
       Result := ADBGrid.Columns[i];
  end;  
end;



GOSTEI 0
POSTAR