Delphi'de DataGrid Üzerinde Direkt Oynama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen canset »

Herkese selamlar;

Delphide birkaç yıl önce hobi olarak yaptığım ve bir arkadaşımın kullandığı barkodlu satış programı üzerinde bir değişiklik yapmam istendi. Satış formu üzerinde bulunan datagrid üzerinde direkt olarak malın satış fiyatı ve adedi üzerinde oynama yapılmak isteniyor. Şöyle ki;

Bir kaban satıldığını düşünelim, veritabanımızda satış fiyatımız 99 TL olarak kayıtlı, barkod okutturarak satış ekranında datagrid üzerinde görüyoruz. Fakat müşteri pazarlık yaparak fiyatı 85 TL ye düşürdü diyelim. İşte bu anda satıcı direkt olarak satış ekranı penceresinde 99 TL yazan sütunun üzerine sol mouse ile tek tık yaparak o sütun ve satırı aktif hale getirecek ve delete tuşu ile 99 TL yi rahatlıkla silip yerine 85 TL yazabilecek enter a basıp o sütundan ayrılacak ve kaydını ona göre tamamlayabilecek. Aynı şekilde adet sütununda da grid üzerinde oynama yapılmak isteniyor, örneğin müşteri 6 adet aynı üründen aldı ise sadece 1 kez barkod okutacak, grid üzerinde miktar 1 olarak gözükecek, sonra o sütuna giderek 1 i 6 yapıp enter işlemi ile o sütundan ayrılacak ama istediği zaman o sütuna tekrar geri dönebilecek.

Biraz karışık gibi oldu ama, böyle bir düzenleme yapmamın delphide imkanı var mıdır, yoksa hangi dilde bunu gerçekleştirebilirim?

Herkese saygılarımla..
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen canset »

Arkadaşlar cevap verebilecek kimse yok mu??
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen bobasturk »

merhaba,

barkod okutulduğunda ürün tablosundan gelen veri geçici tabloya alarak üzerinde gerekli değişiklikler yapılabilir. geçici tabloda yapılan işlemler ürün tablosuna yansımayacağı için asıl fiyet her zaman yerinde kalmış olur ve o anki satışı istenilen şekilde yapmış olursunuz.

kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen canset »

Hocam tampon table zaten var, benim istediğim grid üzerindeki satır ve sütunlarda oynama yapabilmek, yani grid'in satır ve sütunlarını excel hücresi gibi kullanabilmek.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen conari »

optionsdan editmode true yaparsan oynayabilirsin.
Tabi Query kullanıyorsan farklı şeyler gerekebilir.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen canset »

dbgrid options'tan bahsediyorsunuz herhalde hocam, orda dgEditing var true yapmaya çalışıyorum ama olmuyor, devamlı false da kalıyor.
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen canset »

Resim
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen NewMember »

aynı zamanda bağlı datasourceun autoedit özelliği true olmalı
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen orhancc »

Direk tabloya bağlamak yerine memtable kullan veya hiç bağlantı yapmadan unbound modda kullan kayıt etmek istediğinde tabloya aktar. Gridin değerlerini değiştirmek zor değil zaten gridin kendi özelliği onlar sen sadece kayıt ettireceksin.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen aslangeri »

s.a.
rowselect "true" mu?
readonly "true" mu?
normalde dbgridde zaten değişiklik yapabilirsin.
değişiklik yapamıyorsan değiştirdiğin özelliklerden dolayıdır. onları kontrol et.
bide delphinin hangi versiyonunu kullanıyorsun.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen canset »

A.Slm;

Delphi 6 kullanıyorum.

DataSource Autoedit --> True

DBGrid Read Only --> True

RowSelect --> True

şeklinde...

dgEditing'i true yapmam lazım anladığım kadarı ile ama bir türlü true olmuyor, değiştirmeme rağmen kendisi tekrar false olarak atıyor.
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen canset »

Acaba dbgrid'in ilgili colums'unun özelliklerinde bir değişiklik yapmamız gerekir mi?? expanded özelliği false şu anda, onu true yapmalı mıyız?? Gerçi o da true olmayı kabul etmiyor :((
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen conari »

DBGrid Read Only --> True

RowSelect --> True

bunları False yap.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen canset »

Arkadaşlar hepinize teşekkür ederim yardımlarınız için. Dbgrid'in column larında oynama yapmayı başardım. Şimdi bu oynama yapabildiğimiz miktar ve fiyat column larının Events lerine kod yazmam gerekiyor ki bu iki column da manuel yaptığımız değişikler Toplam Tutar a aksettirilebilsin. Onu da dbgrid'in miktar ve fiyat column larının events lerinde yaparım diye düşünmüştüm ama columns lara ait events lerin aktif olmadığını gördüm. Acaba ne yapmamız gerekir? dbgrid'in kendi events ine mi yazmamız gerekir??


Resim
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen aslangeri »

s.a.
grid in colexit eventinda yapman lazım işlemleri.
istersen birde :ara calculatedfield i araştır.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla