Problem z wyświetlaniem pól rekordu w DBGrid

0

Mam taki problem z DBGrid - przpisuję poszczególnym kolumnom pola z rekordu tak jak poniżej widać i to nie działa. Jak uruchomię program to w DBGrid w pierwszych polach pojawiają się inne kolumny niż te co ja chcę - czemu tak się dzieje i jak to poprawić. Proszę o podpowiedź.

Pozdrawiam Marcin

 procedure TfrNowyDokG.UstawSiatkeO;
begin
with DBGrid5 do
     begin
          Columns.Items[0].FieldName := 'IMIE_NAZWISKO';
          Columns.Items[1].FieldName := 'NAZWA';
          Columns.Items[2].FieldName := 'NIP';
          Columns.Items[3].FieldName := 'ULICA';
          Columns.Items[4].FieldName := 'MIASTO';
          Columns.Items[5].FieldName := 'KOD_P';
          Columns.Items[0].Title.Caption := 'Imię i nazwisko';
          Columns.Items[0].Width := 150;
          Columns.Items[1].Title.Caption := 'Nazwa firmy';
          Columns.Items[1].Width := 200;
          Columns.Items[2].Title.Caption := 'NIP';
          Columns.Items[2].Width := 70;
          Columns.Items[3].Title.Caption := 'Ulica';
          Columns.Items[3].Width := 80;
          Columns.Items[4].Title.Caption := 'Miasto';
          Columns.Items[4].Width := 80;
          Columns.Items[5].Title.Caption := 'Kod';
          Columns.Items[5].Width := 80;
     end;
end;
0

to tak nie działa - klikasz dwa razy na dbgrida i albo dodajesz kolumny ręcznie albo przez Add All o ile masz podłączonego data source i data set i data set może zostać otwarty

1

jeśli chcesz dynamicznie (z kodu) dodawać kolumny do Grida to spróbuj tak:

procedure setColumns(aGrid: tdbgrid);
var
  lColumn: Tcolumn;
begin
  aGrid.Columns.Clear;

  lColumn := Tcolumn.Create(aGrid.columns);
  lColumn.fieldname := 'imie_nazwisko';
  lColumn.title.Caption := 'Imię i nazwisko';
  lColumn.width := 200;


  lColumn := Tcolumn.Create(aGrid.columns);
  lColumn.fieldname := 'firma';
  lColumn.title.Caption := 'Nazwa firmy';
  lColumn.width :=300;

end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1