DBGridin içeriğinde kayıt görüntülenmiyorsa...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
manaz
Üye
Mesajlar: 23
Kayıt: 02 May 2009 06:25
Konum: Denizli-Kale

DBGridin içeriğinde kayıt görüntülenmiyorsa...

Mesaj gönderen manaz »

Meraba Arkadaşlar;
DBGrid içeriğinde kayıtlar görüntülenmiyorken, formun üzerinde bulunan Sil ve Düzenle Butonlarım kayıt varmış gibi çalışmaya devam ediyor.DBGridde kayıt görüntülenmiyorsa o düğmeleri pasif yapmak istiyorum. Satır seçili değilse Sil butonu ve Düzenle butonu çalışmasın istiyorum ya da uyarı versinler.
Yardımlarınızı bekliyorum arkadaşlar. Şimdiden Teşekkür Ederim.
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: DBGridin içeriğinde kayıt görüntülenmiyorsa...

Mesaj gönderen emin_as »

Actionmanager i kullan.
Actionmanager dan standart actionlardan datasetinsert, datasetdelete gibi lazım olan actionları ekle.
Daha sonra bu actionların datasource suna kendi kullandıgın datasource u bagla ve dügmelerin action i olarak bu actionları seç. Actionmanager senin için tüm işlemeleri yapacaktır.

Bu anlattıklarım 2007 geçerli, önceki sürümleri tam hatırlamıyorum. Eger actionmanager dan bu işlemi yapamıyorsan, kullandıgın datasource un Onstatechange eventi üzerinden yapabilirsin.
Kullanıcı avatarı
manaz
Üye
Mesajlar: 23
Kayıt: 02 May 2009 06:25
Konum: Denizli-Kale

Re: DBGridin içeriğinde kayıt görüntülenmiyorsa...

Mesaj gönderen manaz »

emin_as yazdı:Actionmanager i kullan.
Actionmanager dan standart actionlardan datasetinsert, datasetdelete gibi lazım olan actionları ekle.
Daha sonra bu actionların datasource suna kendi kullandıgın datasource u bagla ve dügmelerin action i olarak bu actionları seç. Actionmanager senin için tüm işlemeleri yapacaktır.

Bu anlattıklarım 2007 geçerli, önceki sürümleri tam hatırlamıyorum. Eger actionmanager dan bu işlemi yapamıyorsan, kullandıgın datasource un Onstatechange eventi üzerinden yapabilirsin.
hocam ilgin için teşekkür ederim.
Fazla bilgi sahibi değilim bu konuda. Actionmanager nasıl kullanırım. nereden ulaşabilirim. Kısaca örnek ile anlatırsan çok sevinirim. Delphi 7 kullanıyorum bu arada.
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: DBGridin içeriğinde kayıt görüntülenmiyorsa...

Mesaj gönderen emin_as »

Delphi 2007 için anlatıyorum, delphi 7 de Tactionmanager var mı bilmiyorum.
  • Additional grubunda TActionmanager i seçip, formun üzerine koyuyorsun.
    Actionmanager1 i çift tıklıyorsun,
    Gelen pencerede Action sekmesindeki action listesinin üstündeki toolbarda New Action ve New Standard Action seçenekleri olan listeyi açıp,
    Oradan dataset için gerekli olan bir standart action seçiyorsun,
    Seçtigin action ın datasource unu kendi datasource una baglıyorsun.
Kullanıcı avatarı
manaz
Üye
Mesajlar: 23
Kayıt: 02 May 2009 06:25
Konum: Denizli-Kale

Re: DBGridin içeriğinde kayıt görüntülenmiyorsa...

Mesaj gönderen manaz »

Dediğinizi yapmaya çalıştım.
Form2nin Action olayına geldim. Dataset2 diye tanımladım. Action 1 diye tanımladım. Programı çalıştırdığımda o form kilitleniyor hiçbiyeri çalışmıyor. Biyerde ya da biçok yerde yanlış yapıyorum galiba. Hocam başka çözümü yokmu bunun. Ya da size zahmet daha detaylı anlatabilirmisiniz. Bu Actionmanager'i hiç kullanmadım daha önce. Saygılar.
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Re: DBGridin içeriğinde kayıt görüntülenmiyorsa...

Mesaj gönderen abdulkadir »

form2 actionu kullanmayacaksın bu işlemde o yanlış.

form2 de
1 DataSource1: TDataSource
1 DBNavigator1: TDBNavigator
1 DBGrid1: TDBGrid
1 Action1: TActionList
yerleştir ve

1 DBGrid1 DataSource = DataSource1 bagla
2 DBNavigator1 DataSource = DataSource1 bagla
3 Action1 cift tıkla dataset sekmesinde
DataSetInsert1 DataSource = DataSource1 bagla
DataSetPost1 DataSource = DataSource1 bagla ve listedeki digerlerine aynı işlemi yap

formu calıştırdıgında istedigini elde etmiş olacaksın.
kolay gelsin....
Fikirleri Aktar
Kaynakları Dagıt
Ve
Yoldan Çekil
http://www.Leventler.com.tr
Kullanıcı avatarı
manaz
Üye
Mesajlar: 23
Kayıt: 02 May 2009 06:25
Konum: Denizli-Kale

Re: DBGridin içeriğinde kayıt görüntülenmiyorsa...

Mesaj gönderen manaz »

abdulkadir yazdı:form2 actionu kullanmayacaksın bu işlemde o yanlış.

form2 de
1 DataSource1: TDataSource
1 DBNavigator1: TDBNavigator
1 DBGrid1: TDBGrid
1 Action1: TActionList
yerleştir ve

1 DBGrid1 DataSource = DataSource1 bagla
2 DBNavigator1 DataSource = DataSource1 bagla
3 Action1 cift tıkla dataset sekmesinde
DataSetInsert1 DataSource = DataSource1 bagla
DataSetPost1 DataSource = DataSource1 bagla ve listedeki digerlerine aynı işlemi yap

formu calıştırdıgında istedigini elde etmiş olacaksın.
kolay gelsin....

Dediklerinizin aynısını yaptım. Dataset Kategorisinin altında Datasetpost1,Datasetedit1 ve Datasetinsert1 bunları ekledim.
Datasourcelerini de DataSource1 yaptım. Programı çalıştırdım. Benim butonlar aynı eskisi gibi çalışmaya devam ediyor. Sorun var bi yerde ama çözemedim. Yardımlarınızı bekliyorum.
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: DBGridin içeriğinde kayıt görüntülenmiyorsa...

Mesaj gönderen Lost Soul »

datasetin onchange olayına

Kod: Tümünü seç

if tablom.state = dsbrowse then 
              if tablom.recordcount <=0 then 
                             sildugmesi.enabled := false 
           else
             sildugmesi.enabled:=true;

yazman yeterli.
Kullanıcı avatarı
manaz
Üye
Mesajlar: 23
Kayıt: 02 May 2009 06:25
Konum: Denizli-Kale

Re: DBGridin içeriğinde kayıt görüntülenmiyorsa...

Mesaj gönderen manaz »

Lost Soul yazdı:datasetin onchange olayına

Kod: Tümünü seç

if tablom.state = dsbrowse then 
              if tablom.recordcount <=0 then 
                             sildugmesi.enabled := false 
           else
             sildugmesi.enabled:=true;

yazman yeterli.

bunu yaptığımda sil düğmesi hep aktif geliyor. Veritabanımda veri kayıtlı çünkü. Söylediğinizin aynısını DBGrid için yaparsak eğer sorunum çözülür. DBGridde seçili satır yoksa diye bişey bulsam onunla da yaparız ama bulamadım :)
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: DBGridin içeriğinde kayıt görüntülenmiyorsa...

Mesaj gönderen Lost Soul »

manaz yazdı:
Lost Soul yazdı:datasetin onchange olayına

Kod: Tümünü seç

if tablom.state = dsbrowse then 
              if tablom.recordcount <=0 then 
                             sildugmesi.enabled := false 
           else
             sildugmesi.enabled:=true;

yazman yeterli.

bunu yaptığımda sil düğmesi hep aktif geliyor. Veritabanımda veri kayıtlı çünkü. Söylediğinizin aynısını DBGrid için yaparsak eğer sorunum çözülür. DBGridde seçili satır yoksa diye bişey bulsam onunla da yaparız ama bulamadım :)
o zaman recordcount yerine dbgrid rowcount =0 diyeceksiniz :)
Kullanıcı avatarı
manaz
Üye
Mesajlar: 23
Kayıt: 02 May 2009 06:25
Konum: Denizli-Kale

Re: DBGridin içeriğinde kayıt görüntülenmiyorsa...

Mesaj gönderen manaz »

Deneyince sonucu yazacağım. Teşekkür Ederim yardımlar için.
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: DBGridin içeriğinde kayıt görüntülenmiyorsa...

Mesaj gönderen emin_as »

Aşagıdaki kod işini görür. Arasıra delphi componetleriyla ilgili yardım dosyalarını veya bir kitap okuyun.
Bu şekilde program yazılmaz.

Kod: Tümünü seç

sildugmesi.enabled:=dbgrid.selectedrows.count > 0;
Kullanıcı avatarı
manaz
Üye
Mesajlar: 23
Kayıt: 02 May 2009 06:25
Konum: Denizli-Kale

Re: DBGridin içeriğinde kayıt görüntülenmiyorsa...

Mesaj gönderen manaz »

Kitap almayı düşünüyorum en kısa zamanda. Önerebileceğiniz Kitap var mı peki.
Kullanıcı avatarı
manaz
Üye
Mesajlar: 23
Kayıt: 02 May 2009 06:25
Konum: Denizli-Kale

Re: DBGridin içeriğinde kayıt görüntülenmiyorsa...

Mesaj gönderen manaz »

Kod: Tümünü seç

begin
if dbgrid1.SelectedRows.CurrentRowSelected=true then
  if MessageDlg('Kayıt ve ona bağlı kayıtlar silinecek ?',
  mtConfirmation, [mbyes, mbNo], 0)=mryes then
  adoquery1.delete
  else
end;
Bu kayırla istediğim durum oldu. DBGridde seçili satır yoksa buton işlem yapmıyor.

Yardım eden herkese Teşekkür Ederim.
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Re: DBGridin içeriğinde kayıt görüntülenmiyorsa...

Mesaj gönderen abdulkadir »

manaz yazdı:Kitap almayı düşünüyorum en kısa zamanda. Önerebileceğiniz Kitap var mı peki.
forumumuzun degerli bir üyesi yazdı tavsiye ederim.
http://www.mfkucukkelepce.com/?p=201
Fikirleri Aktar
Kaynakları Dagıt
Ve
Yoldan Çekil
http://www.Leventler.com.tr
Cevapla