dbgird'te satır numarası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
guney
Üye
Mesajlar: 88
Kayıt: 19 Ağu 2003 03:04
Konum: İstanbul

dbgird'te satır numarası

Mesaj gönderen guney »

Teklif programında dbgird kullanıyorum.Her girilen kayıdın kacıncı satırda olduğunu gösteren bir tane sira no gibi alanı gridin ilk sutununa eklemem gerekiyor. Böylece 1,2,3..... gibi bir sıralama olacak ve tekliflerin kontrolu kolaylaşacak.

Bunu dbgrid de nasıl yapabilirim ?
Kullanıcı avatarı
mehmet_turecan_cakmak
Üye
Mesajlar: 132
Kayıt: 02 Tem 2003 01:08
Konum: Afyon
İletişim:

dbgrid

Mesaj gönderen mehmet_turecan_cakmak »

selam...

hocam bunun için sana önerebileceğim tablona sıra no adında bir alan oluştur tipinide otomatik sayı ver programındada her girilen kayıda otomatik bir numara verilmiş olur
guney
Üye
Mesajlar: 88
Kayıt: 19 Ağu 2003 03:04
Konum: İstanbul

Mesaj gönderen guney »

otomatik bir record numarası verince bu olmaz.

yanı o zaman hiç bir zaman 1 den başlamaz kı.

benim istediğim her teklif hazırlama olayında sira bnumarasının 1 den başlayarak recordcount değerine kadar vermesi. yanı bu satir numaralarını table da tutmama gerek olmamalı. görsel bişe en son noktada.
yinede teşekkürler dostum.
başka önerisi olan var mı ?
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

bir calculated alan oluştur ve RecNo + 1 ata.

Kolay gelsin.
guney
Üye
Mesajlar: 88
Kayıt: 19 Ağu 2003 03:04
Konum: İstanbul

Mesaj gönderen guney »

calculated field oluşturdum önceden. onun onchange eventine yazmıştım dediğin olayı. ancak bu seferde grid üzerinde ki her harekette fieldı edit ediyordu. yanı her sefer kayıt eklemeden sıra no artıyordu.

buna bir cözüm varmı ?

olayı nereye yazmam gerekir ?
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

dediğim yöntemi ben daha önce denedim, çalışması lazım. Mesela Table1 ve oluşturduğunuz calculated alan SIRANO ise, Table1'in OnCalcFields olayına :

Table1.FieldByName('SIRANO').AsInteger := Table1.RecNo + 1;

yaz.

Kolay gelsin.
guney
Üye
Mesajlar: 88
Kayıt: 19 Ağu 2003 03:04
Konum: İstanbul

Mesaj gönderen guney »

sağol mustada abi.İşime yaradı.

Bu arada Mescidi Aksa ya selam.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

calculated field ı anlayamadım nerde oluşturuluyor acaba? Query ile de yapılabilir mi?
guney
Üye
Mesajlar: 88
Kayıt: 19 Ağu 2003 03:04
Konum: İstanbul

Mesaj gönderen guney »

table yada query objesine cift tıkladığımızda fields ları gösteren ekranda farenin sağına tıklayıp new field diyeceksiniz. acılan ekranda field type i calculated secip type nıda isteğinize göre ayarlıyacaksınız.name kısmına da isim vereceksiniz. bu kadar. sonra bunu normal bir field gibi kullanabilirsiniz. bu örnekte table yada query nın oncalcfields event i na koydum olayı.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

teşekkürler ben de birşey daha öğrenmiş oldum :)
Kullanıcı avatarı
mehmet_turecan_cakmak
Üye
Mesajlar: 132
Kayıt: 02 Tem 2003 01:08
Konum: Afyon
İletişim:

dbgrid

Mesaj gönderen mehmet_turecan_cakmak »

yani buna tabloya sanal bir alan eklemek diyebilirmiyiz yani ben öyle anladım...

iyi çalışmalar...
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

evet çalışma anında hesaplatılabilecek değerler için calculated field (hesaplanmış alan) ekleyebilirsiniz.

mesela tablonuzda miktar ve birim fiyat var ise tutarı tabloda tutmanıza gerek yoktur. Bir calculated alan ekleyip Tutarı miktar x birim fiyat şeklinde hesaplatıp ekranda gösterebilirsiniz.

Veya cinsiyet alanında E ve K olarak saklıyorsunuz değerleri, bunları ekranda Erkek ve Kadın gibi görmek sitiyorsanız, yine calculated field kullanabilirsiniz. vs.vs.

Kolay gelsin.
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Mesaj gönderen Berdem »

Çalışma anında hesaplatılabilecek değerler için calculated field sanal alanlar haricinde bulunan alanlar için yapılabilir mi?Eger yapılamazsa birbirine aktaracak table prodüsürü ne olabilir?Bir kaç denemem oldu cevap alamadım after insert vb gibi..
Teşekkürler...
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Eğer sorunuzu doğru anladıysam (Tablomdaki bir alana diger alanlardan hesaplanan bir değeri nasıl atarım)

Before post eventinde tek bir satir olarak ilgili atama kodunu yazmaniz yeterli.

Kod: Tümünü seç

Table1TOPLAM.AsInteger=TableADET.AsInteger*TAble1BIRIM_FIYAT.AsInteger;
dwfwfan
Üye
Mesajlar: 9
Kayıt: 16 May 2005 05:01

merhaba

Mesaj gönderen dwfwfan »

hocam merhabalar.
dediğiniz çözüm bende düzgün çalışmıyor. bende delphi.about.com da görmüştüm table1.recno kayıt sıra numarası veriyor diye.
kullandığım veritabanı oracle ve component doa.
sonuçları ben dbgrid e değilde report builder da rapor yazmak için ppreport componentine gönderiyordum.
toplamda sadece 2 sayfa oluşturması gerekirken 8 9 ya da ne bileyim 6 sayfa oluşturuyordu.
sıra numarasını yani recno yu kaldırınca normal şekilde kayıtlar gelmeye başladı.
bu arada recno kullanınca mesela rapor un ilk sayfasında gelen kayıtlar ikinci sayfada ilk kayıt hariç aynen geliyordu.
bu sıra no olayına başka çözüm varmı?
yardımlarınız için teşekkürler.
Cevapla