[Delphi] DBGrid szerokosc kolumn

0

hej :) to znow ja ;]

Tym razem poszukuje informacji w jaki sposob automatycznie dostosowywac szerokosc kolumn do wpisow w komorkach :/ Obecnie sa strasznie porozciagane chyba do rozmiaru wielkosci typow pobranych z bazy.

Czy da sie ustawic szerokosc kolumny do rozmiaru wpisanych komorek ??

0

Ty człowieku z każdym problemem musisz tu przyłazić i pisac posty??? Nie umiesz sam pomyśleć???

Jest taka strona jak www.torry.net i ten twój problem jest w Tipsach w Database.

Szukanie nie gryzie, rusz głową.

0

Dostosowywanie szerokosci kolumn zalatwia taka procedurka

procedure Ustaw_dlugosc_siatki(DBGrid: TDBgrid);
const
  dodatkowa_dlugosc = 10;
var
  pomoc, n: Integer;
  max_dlugosc: array [0..30] of Integer;
begin
  with DBGrid do
  begin
    Canvas.Font := Font;
    //zapamiętanie długości napisów w tytułach kolumn
    for n := 0 to Columns.Count - 1 do
      max_dlugosc[n] := Canvas.TextWidth(Fields[n].FieldName) +  dodatkowa_dlugosc;
    DataSource.DataSet.First;
    //jeśli pole jest dłuższe niż długość kolumny, to ustawiamy nowy max_dlugosc
    while not DataSource.DataSet.EOF do
    begin
      for n := 0 to Columns.Count - 1 do
      begin
        pomoc := Canvas.TextWidth(trim(Columns[n].Field.DisplayText)) + 
                                                  dodatkowa_dlugosc;
        if pomoc > max_dlugosc[n] then max_dlugosc[n] := pomoc;
      end;
      DataSource.DataSet.Next;
    end;
    //ustawiamy nową szerokość kolumn
    DataSource.DataSet.First;
    for n := 0 to Columns.Count - 1 do
      if max_dlugosc[n] > 0 then
        Columns[n].Width := max_dlugosc[n];
  end;
end;

chyba dasz radę sobie z wywołaniem

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