DbGrid üzerindeki kaydırma çubuğu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
habikus
Üye
Mesajlar: 69
Kayıt: 14 Eyl 2011 04:23

DbGrid üzerindeki kaydırma çubuğu

Mesaj gönderen habikus »

DbGrid üzerindeki dikey kaydırma çubuğunun normalde görünmesini istemiyorum. Sadece içi dolduğu zaman kenarda gözüksün. Bir de fieldların gride otmatikolarak sığmasını istiyorum. Forumdaki örnekler tam olarak işime yaramadı. Yardımcı olursanız sevinirim.
Senat0r
Üye
Mesajlar: 80
Kayıt: 13 Tem 2014 09:30
Konum: Antalya

Re: DbGrid üzerindeki kaydırma çubuğu

Mesaj gönderen Senat0r »

Daha basit yolları vardır herşey tecrübe edilerek bulunur

Kod: Tümünü seç

procedure Sigdir(Grid: Tdbgrid);
const
  DEFBORDER = 10;
var
  temp, n: Integer;
  lmax: array [0..30] of Integer;
begin
  with Grid do
  begin
    Canvas.Font := Font;
    for n := 0 to Columns.Count - 1 do
      //if columns[n].visible then
      lmax[n] := Canvas.TextWidth(Fields[n].FieldName) + DEFBORDER;
    grid.DataSource.DataSet.First;
    while not grid.DataSource.DataSet.EOF do
    begin
      for n := 0 to Columns.Count - 1 do
      begin
        //if columns[n].visible then begin
        temp := Canvas.TextWidth(trim(Columns[n].Field.DisplayText)) + DEFBORDER;
        if temp > lmax[n] then lmax[n] := temp;
        //end; { if }
      end; {for}
      grid.DataSource.DataSet.Next;
    end; { while }
    grid.DataSource.DataSet.First;
    for n := 0 to Columns.Count - 1 do
      if lmax[n] > 0 then
        Columns[n].Width := lmax[n];
  end; { With }
end; {SetGridColumnWidths  }

procedure TForm1.Button1Click(Sender: TObject); // Procedure nin kullanımı form.create  ve ya onshoow  yordamlarına yazılabiilir ve ya nerede kullanmak isterseniz
begin
sigdir(dbgrid1);
end;
Aşağıdaki kod ilede dikey scrollbar gizlemek için kullanılır.

Kod: Tümünü seç

TStringGrid( DBGrid1 ).ScrollBars := ssBoth;
gideceği limanı bilmeyen gemiye hiçbir rüzgar yardım edemez...

Kod: Tümünü seç

Delete from hayat where cins="çıkarcılar"
Cevapla