fkCalculated

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

fkCalculated

Mesaj gönderen abdulkadir »

s.a
Arkadaslar dbgrid de listenen kayıtların arasından bazılarını secili hale getirip memo ya aktarmak istiyorum.
bunu yapmak için degişik yollar denedim ama olmadı.
bu işlem için
IBQuery e bir tane Calculated alan ekledim (SEC TBooleanField;)
bu alanı dbgrid e de ekledim.

dbgridin DrawColumnCell olayında bu linkteki yöntemle http://delphi.about.com/od/usedbvcl/l/aa082003a.htm
SEC kolonunda her satırda checbox görünüyor

bu checbox ları tek tek secili hale getirebiliyorum ama sectiklerimi memoya aktaramıyorum.

bu sekilde hata vermiyor ama aktarımda yok

Kod: Tümünü seç

if FieldByName('SEC').AsBoolean = true then   begin     
Memo1.Lines.Add(FieldByName('URUN_ADI').AsString);
end;
Calculated alan oldugu içinmi acaba
nasıl yapmalıyım acaba şimdiden tesekkür ederim....
Fikirleri Aktar
Kaynakları Dagıt
Ve
Yoldan Çekil
http://www.Leventler.com.tr
Ertugrul
Üye
Mesajlar: 136
Kayıt: 09 May 2009 12:05

Re: fkCalculated

Mesaj gönderen Ertugrul »

DBGridde kullanici ctrl tusuna basarak birden fazla kaydi secsin, daha sonra bir butona vb tiklaninca memoya secilen kayitlarin URUN_ADI yazilsin istiyorsunuz degil mi?

Kod: Tümünü seç

var
i: Integer;
begin
  if DBGrid1.SelectedRows.Count = 0 then
    Exit;
  for i:=0 to DBGrid1.SelectedRows.Count-1 do
  begin
    Table1.GotoBookmark(pointer(DBGrid1.SelectedRows[i]));
    Memo1.Lines.Add(Table1.FieldByName('URUN_ADI').AsString);
  end;

end;
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Re: fkCalculated

Mesaj gönderen abdulkadir »

ctrl ile secilmiş satırları degil
SEC kolonundaki checkbox secili ise o satıra ait bilgileri memoya aktaracam

burda önemli olan secili checkboxları tespit etmek
table de SEC diye bir alan yok ben calculated alan olusturup yapmayı denedim.
secili checkboxları tespit etsem olay bitecek ama?

tesekkür ederim...
Fikirleri Aktar
Kaynakları Dagıt
Ve
Yoldan Çekil
http://www.Leventler.com.tr
Ertugrul
Üye
Mesajlar: 136
Kayıt: 09 May 2009 12:05

Re: fkCalculated

Mesaj gönderen Ertugrul »

calculated field ile olmamasi lazim, yerinizde olsam checkbox i olan bir dbgrid bakardim.
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Re: fkCalculated

Mesaj gönderen abdulkadir »

Ertugrul yazdı:calculated field ile olmamasi lazim, yerinizde olsam checkbox i olan bir dbgrid bakardim.
mümkün oldukca standart componentlerin dısına cıkmamaya calısıyorum ama cözüm bulamassam kullanırım.
tesekkür ederim.
Fikirleri Aktar
Kaynakları Dagıt
Ve
Yoldan Çekil
http://www.Leventler.com.tr
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: fkCalculated

Mesaj gönderen vkamadan »

Merhabalar ,
Bu gibi durumlarda genelde tercih ettiğim bir yöntem var ,
Öncelikle fkCalculate tipindeki Field lara datasetin OnCalcFields olayının haricinde değer ataması yaptırılamaz , bu yüzden kullandığım dataset in CachedUpdates özelliğine başvuruyorum sanal alanı select ifademde seçip hafızada işaretleme yapıyorum örnegin ,

Kod: Tümünü seç

SELECT alan1 , alan2 ,alan3 , CAST(0 AS UNSIGNED) AS SECIM_ALANI FROM tablo_adi
bu durumda dataset e integer tipinde SECIM_ALANI isminde aslında olmayan sanal bir alan geliyor, CachedUpdates özelliği aktif olduğu içinde hafızaya yüklenen kayıtlar içinde DB yi etkilemeden dilediğimiz gibi at koşturuyoruz. yani dataset i editleyip SECIM_ALANI isimli alanın değerini 1 yada 0 yaparak seçili yada seçili değil pozisyonlarını sağlayabilir ve sonrasında bir döngüyle dataseti gezerek seçili alanları tespit edebilirsiniz.

Kolay gelsin.
Volkan KAMADAN
www.polisoft.com.tr
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Re: fkCalculated

Mesaj gönderen abdulkadir »

hocam tesekkür ederim buaralar yogunlugumdan dolayı bu konu ile ilgilenemedim
vakit buldugumda deneyip sonucu yazacagım inş.
hayırlı işler...
Fikirleri Aktar
Kaynakları Dagıt
Ve
Yoldan Çekil
http://www.Leventler.com.tr
Cevapla