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
Dbgridi vertikal biçimde kullanabilir miyiz?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 261
- Kayıt: 21 Tem 2006 04:59
- İletişim:
-
- Üye
- Mesajlar: 261
- Kayıt: 21 Tem 2006 04:59
- İletişim:
Re: Dbgridi vertikal biçimde kullanabilir miyiz? [ÇÖZÜLDÜ]
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;