dbgridden satırı çıkarmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
huseyinert
Üye
Mesajlar: 233
Kayıt: 19 Nis 2005 06:49
Konum: Bartın

dbgridden satırı çıkarmak

Mesaj gönderen huseyinert »

s.a arkadaşlar
gride listelenen istediğim satırı çıkarmak istiyorum ama bu çıkarma işleminde o kayıt db den silinmeyecek sadece griddeen clear olacak böyle bir özelliği varmı gridin acaba...

kolay gelsin
"Kula bela gelmez Hak yazmayınca,Hak bela yazmaz kul azmayınca..." MEVLANA
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

Mesaj gönderen nitro »

grid queryye bağlı ise sqli değiştirerek yapabilirsiniz.
ibdataset'e bağlar, cached update özelliğini true yaparsanız da olur.

Kod: Tümünü seç

ibdataset1.delete;
ile satır gider.
kolay gelsin.
Kullanıcı avatarı
huseyinert
Üye
Mesajlar: 233
Kayıt: 19 Nis 2005 06:49
Konum: Bartın

Mesaj gönderen huseyinert »

hocam ozaman kaydı db den de siler ama ben db den silmesini istemiyorum
"Kula bela gelmez Hak yazmayınca,Hak bela yazmaz kul azmayınca..." MEVLANA
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
valla gridlerin oyle bir özelliği varmı bilmiyorum ama bu işlemi kullandığın dataset bileşeni filitreliyerek yapabilirsin.(ister filter kullan ister querysini değiştir)
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

Mesaj gönderen nitro »

Sen datasetin cachedupdate özelliğini true yap, satırları sil, formun close olayına da

Kod: Tümünü seç

ibdataset1.cancelupdates;
yaz. bilgiler kaybolmaz.
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

dbGridden satir silebilirsiniz ama bu pekte sizin isteyeceğiniz şey olmaz ne yazik ki çünkü dbgridde gördüğünüz satırlar sanaldır. yani tabloda 100 tane kayir varsa ve gridinizde 10 tane kayit gosterecek sekilde ayarlanmissa gridinizde 10 satir var demektir. siz kayitlati asagiya yukariya da hareket ettirseniz bile bu degismez. aslinda hareket eden satirlar degil kayitlardir :)


Kod: Tümünü seç

tHack = class(TDBGrid);
var
  Form1: TForm1;
yukaridaki gibi bir Thack adinda dbgridden tureyen bir sinif deklare edin ve herhangibir tablonun onafterScroll olayina sunu yazin.

Kod: Tümünü seç

caption := inttostr( thack(DBGrid1).Row);
sonra kayitlar arasinda ileri - geri hareket edin ve basliktaki row sayisini gozlemleyin.

thack(DBGrid1).DeleteRow(5); gibi bir komutla satiri silebilirsiniz ama tavsiye etmem
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Cevapla