dbGridleri senkron problemi

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
ömer faruk
Üye
Mesajlar: 97
Kayıt: 29 Eki 2003 09:34
Konum: Bursa
İletişim:

dbGridleri senkron problemi

Mesaj gönderen ömer faruk »

Selamunaleykum
Önce ne yapmak istediğimi anlatayım....Bir servis formu var..bu form üzerinde müşteri birden fazla servis girişi yapabilir ve dbnavigatör ve dbgirid ilede diğer servisleri görebilecek..asıl problem bundan sonra başlıyor yaptıgım uygulamada URUN CINSI, MARKA, MODEL kısmı var URUN CINSINI tıkladıgımızda haliyle daha onceden başka bir formda kayıt ettıgımız alanlar gelecek işte problem bundan sonra başlıyor...sectigimiz URUN CINSI ıle ılgılı MARKALAR alttaki dblokupcombobox a otomatik gelecek oradan sectigimiz MARKA ile ilgili MODEL lerde de otomatik olarak gelecek buraya kadar yaptım ama aynı müşteriye ikici bir servis girdiğimiz zaman ve farkı URUN CİNSİ, MARKA, MODEL girdigimiz de dbgirid üzerinde iki servis formu arasında gezindigimiz de olay sapıtoyor işte problemim bu,, bu işlemi düzgün bir şekilde yapmak istiyorum.. Yardımcı olursanız Çok sevinecem Vallahi....
Hakimiyet ALLAH' ındır...
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7601
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

hocam öncelikle başlığı konuyla alakalı açıklayıcı bir başlık seçersen daha iyi olur.

Yanlış anlamadıysam, sen cins, marka, model bilgilerini filtreliyorsun, ancak diğer kayıta geçtiğinde değer filtreli datada olmadığı için boş gözüküyor?

Bu durumda ya giriş ekranı ile gösterim ekranını ayırıp, farklı datasetler kullanacaksın (bence uygun olanı) ya da Datasource'un OnDataChange olayında filtreleri kaldıracaksın.

Kolay gelsin.
Kullanıcı avatarı
ömer faruk
Üye
Mesajlar: 97
Kayıt: 29 Eki 2003 09:34
Konum: Bursa
İletişim:

Mesaj gönderen ömer faruk »

selamunaleykum..
üstad ilgin içi teşekkür ederim....

URUN CINSI, MARKA , MODEL bilgilerini bir formda ayrı table larda giriyorum ve servis formu üzerinde master detail olarak birbirine bağlıyorum veritabanımda interbase.....yani bu şekilde yaptıgım zaman olmuyor master detail olayında bilgiler onceki sonraki kayıtta gezindiginde dblookupcombobox takiler kayboluyor...(yapmak istedigim olayı ilk yazımda anlatmıştım ).....umarım yapmak istedigim seyi anatabilmişimdir... ilk defa yaptıgım icinde yontem hatası yapmıs olabilirim...başka bir yöntemle oluyor ise onuda deniyebilirm...teşekkürler kolay gelsin.
Hakimiyet ALLAH' ındır...
hakkus
Üye
Mesajlar: 160
Kayıt: 18 Haz 2003 12:02
Konum: Konya

Mesaj gönderen hakkus »

Merhabalar
Bu iş için 3 table gerekiyor.
URUN_CINSI_Tb--> field:Urun_cinsi;
MARKATb--> fields: Urun_cinsi, marka
MARKA_Tb Urun_cinsi alanıyla URUN_CINSI_Tb 'ye bağlayın;
MODEL_Tb--> fields; marka, model
MODEL_Tb marka alanıyla MARKA_Tb'ye bağlayın...
UrunCinsiDbLookupComboBox da bir ürün cinsi ni seçtiğinizde
MarkaDbLookupComboBox da buna bağlı markalar görünecektir. Buradan seçtiğiniz markaya göre de
ModelDbLookupComboBox da da Marka_Tb ye bağlı markaların modelleri görünecektir.
Saygıyla
saygılar
Kullanıcı avatarı
ömer faruk
Üye
Mesajlar: 97
Kayıt: 29 Eki 2003 09:34
Konum: Bursa
İletişim:

Mesaj gönderen ömer faruk »

selamunaleykum....
teşekkür ederim Hakkus üstad....ama senindediğin gibi yapıyorum oluyor ama aynı müşterini ikinci servisindeki ürün cinsi marka model ayarladığımda ve dbgrid üzerinde iki kayıt üzeride gezindiğimde dblookupkomboboxlar sapıtıyor işte problem burda.......kafayı sıyıracam yavs .....
Hakimiyet ALLAH' ındır...
hakkus
Üye
Mesajlar: 160
Kayıt: 18 Haz 2003 12:02
Konum: Konya

Mesaj gönderen hakkus »

Merhabalar,
Ömer Bey,
Ben dbLookupComboBox ları sadece sabitleri seçtirmek için nasıl kullanılabilineceğine dair cevap yazdım. Ama sanırım siz aynı zamanda data browse içinde kullanmak istiyorsunuz.
Bu durumda DblookupComboBox'ın ListSource'nu listelenecek table'a, listField' ını ilgili table'ın field'ına, keyField'ını geri döndürülecek değer Field'ına (listfield'la aynı field olabilir) eşitleyin.
DblookupComboBox'ın dataSource'nı DblookupComboBox'tan seçtiğiniz değer hangi table'a yazılacaksa o table'ın dataSource'na ve o dataSource'ın field alanına eşitlerseniz; DbGrid üzerinde gezinirken ilgili table daki ilgili alanın değeri dbLookupComboBox da görünür.
Eğer DbLookupComboBox da başka bir değer seçerseniz table ınız hemen edit moduna geçer table'ın ilgili field alanı dbLookupComboBox daki değere değiştirilir.
Umarım çok karışık olmadı açıklamam.
Saygıyla
saygılar
Cevapla