Delphi Can
DBGird de Kolon Ayarlama - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: DBGird de Kolon Ayarlama (/showthread.php?tid=8033)



DBGird de Kolon Ayarlama - OZCANK - 26-01-2025

Merhaba, "DBGrid1" de "Cari İsim" alanının kolon boyutunu ayarlamak istiyorum nasıl bir yol izleyebilirim ? Elinde bu şekilde bir kod olan var mı? 
Delphi7 kullanıyorum.

Bu kod otomatik ayarlıyor ve "Cari İsim" alanı uzun olduğu zaman sağındaki kolonları kaydırıyor ben verdiğim uzunluk da kalmasını istiyorum.

Kullandığım Kod:

Var

i,ColWidth,ColTextWidth:Integer;
Begin
if DBGrid.DataSource.DataSet.Active then
  begin
    DBGrid.DataSource.DataSet.DisableControls;
    for i:= 0 to DBGrid.Columns.Count-1 do
      begin
        ColWidth:=DBGrid.Canvas.TextWidth(DBGrid.Columns[i].Field.DisplayLabel);
        DBGrid.DataSource.DataSet.First;
      while not DBGrid.DataSource.DataSet.Eof do
       begin
      ColTextWidth:=DBGrid.Canvas.TextWidth(DBGrid.Columns[i].Field.DisplayText);
         if (ColTextWidth > ColWidth) then
           begin
             ColWidth := ColTextWidth;
           end;
         DBGrid.DataSource.DataSet.Next;
      end;{while}
      DBGrid.Columns[i].Width:=ColWidth+1;
    end;{for}



DBGird de Kolon Ayarlama - frmman - 26-01-2025

Cari isim kolonunu sabit tutmak için


i := 2; // cari isim kolon numarası / indexi

DBGrid.Columns[i].Width:=300; // 2 numaralı kolon genişliği 300 pixel e ayarlanır.



Cvp: DBGird de Kolon Ayarlama - OZCANK - 27-01-2025

(26-01-2025, Saat: 08:08)OZCANK Adlı Kullanıcıdan Alıntı: Merhaba, "DBGrid1" de "Cari İsim" alanının kolon boyutunu ayarlamak istiyorum nasıl bir yol izleyebilirim ? Elinde bu şekilde bir kod olan var mı? 
Delphi7 kullanıyorum.

Bu kod otomatik ayarlıyor ve "Cari İsim" alanı uzun olduğu zaman sağındaki kolonları kaydırıyor ben verdiğim uzunluk da kalmasını istiyorum.

Kullandığım Kod:

Var

i,ColWidth,ColTextWidth:Integer;
Begin
if DBGrid.DataSource.DataSet.Active then
  begin
    DBGrid.DataSource.DataSet.DisableControls;
    for i:= 0 to DBGrid.Columns.Count-1 do
      begin
        ColWidth:=DBGrid.Canvas.TextWidth(DBGrid.Columns[i].Field.DisplayLabel);
        DBGrid.DataSource.DataSet.First;
      while not DBGrid.DataSource.DataSet.Eof do
       begin
      ColTextWidth:=DBGrid.Canvas.TextWidth(DBGrid.Columns[i].Field.DisplayText);
         if (ColTextWidth > ColWidth) then
           begin
             ColWidth := ColTextWidth;
           end;
         DBGrid.DataSource.DataSet.Next;
      end;{while}
      DBGrid.Columns[i].Width:=ColWidth+1;
    end;{for}

Merhaba; Bu Procedure yi DLL olarak yapabilir miyim ?


DBGird de Kolon Ayarlama - frmman - 28-01-2025

Sadece gridin sütun genişliğini sabitlemek için dll kullanmak yerine exe içerisinde bunu yapmak veya bir fonksiyona bağlamak daha kolay olmaz mı?