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
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.
Teşekkürler
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.
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;