Dbgridi vertikal biçimde kullanabilir miyiz?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
baloglurecep
Üye
Mesajlar: 244
Kayıt: 21 Tem 2006 03:59
İletişim:

Dbgridi vertikal biçimde kullanabilir miyiz?

Mesaj gönderen baloglurecep » 02 Şub 2019 04:07

Değerli arkadaşlar selamlar. Yazdığım bir projemde güncelleme yapıyorum. Kullandığım dbgrid nesnesinin vectical kullanılması gerekiyor. Dev ekspresin vertikaldbgrid nesnesi var yalnız bunu kullanmak istemiyorum. Çünkü programda skin özelliği var. Kullandığım dbgridin kalması gerekiyor. Nasıl bir yol izleyebilirim?
Teşekkürler

baloglurecep
Üye
Mesajlar: 244
Kayıt: 21 Tem 2006 03:59
İletişim:

Re: Dbgridi vertikal biçimde kullanabilir miyiz? [ÇÖZÜLDÜ]

Mesaj gönderen baloglurecep » 03 Şub 2019 07:51

Arkadaşlar belki lazım olur cihetinden sorunu nasıl çözdüğümü paylaşmak isterim. Kullanındığım tasarım ve arayüzden dolayı kısıtlı alanım vardı. Yaptığım güncelleme ile veritabanı yapısında değişiklik yaptım. Bundan dolayı da kısıtlı alanda dbgridde liste kullanmam mümkün değildi. Ancak dikey grid kullanabilirdim. Bende geçici bir tablo yapıp içine iki alan ekledim. döngü ile bu alanlara tablodaki başlıkları ve sorgudan dönen içerikleri ekledim. kod aşağıdadır.

Kod: Tümünü seç

procedure TForm1.Button4Click(Sender: TObject);
var
sl: TStrings ;
Say,say1:integer;
begin
SL := TStringList.Create;
 Adoquery1.SQL.Clear;
 Adoquery1.SQL.Add('SELECT * FROM NOBET WHERE TARIH =DATE()');
 Adoquery1.OPEN;
 ADOQuery1.First;
// yukarda tarihe göre sorgu yapıyorum
    try
    ADOConnection1.GetFieldNames('NOBET',SL);// tablodaki alan isimlerini liste atıyorum
      ADOTable2.OPEN;
     for say :=0  to sl.Count -1 do   // tablodaki sutun sayısı kadar döngüye sokuyorum
     begin
      ADOTable2.Append; // ilk kaydı atıyorum
      for SAY1 :=0  to  Adoquery1.RecordCount -1  do   // queryden dönen sayı kadar döngü burada asıl olan ilgili alandaki veriyi de almak
          BEGIN
       ADOTable2.FieldByName('ALAN').AsString:=SL.Strings[SAY];// alan isimli alana tablodaki ilk başlığı ekliyorum
       ADOTable2.FieldByName('PERSONEL').AsString:=ADOQuery1.FIELDBYNAME(
         SL.Strings[SAY]).AsString; //  aynı alan karşısına da queryden dönen sonucu içeriği atıyorum
           end;
      ADOTable2.Post;
   
       END;
     ADOTable2.CLOSE;
     ADOQuery1.Close;
   //  ADOTable2.Refresh;

   
     /////

   ShowMessage('veriler eklendi');

      FINALLY
     SL.Free;



END;

Cevapla