cxgrid ek alan olusturma ve deger atama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

cxgrid ek alan olusturma ve deger atama

Mesaj gönderen adelphiforumz »

S.A.

cxgrid üzerine database alanlarının dışında bir alan eklemek istiyorum
daha sonra alana değer atamak ve bu değeri ihtiyacım olduğunda kullanmak istiyorum

mesela veritabanından gelen A ve B alanları olsun C alanı ise benim eklemek istediğim bir alan
C alanına bilgiler ekrana geldikten sonra(Veri tabanından getirirken işlem yapmak istemiyorum)
bu C alanına değer nasıl atayabilirim.

Teşekkürler;
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: cxgrid ek alan olusturma ve deger atama

Mesaj gönderen aslangeri »

s.a.
grid üzerinde değil gridin dataseti üzerinde işlem yapmanız lazım.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: cxgrid ek alan olusturma ve deger atama

Mesaj gönderen adelphiforumz »

S.A.
Dediğiniz yöntemi yapmaya çalıştım fakat başarılı olamadım
yazdığınızdan yola çıkarak ADOQuery içerisine bir adet calculated field ekledim ve bu şekilde birşeyler yapabildim.

aşağıdaki kod seçili satır üzeinde iken bir butona basınca yazdığım test kodu
cxGrid1DBTableView1.ViewData.Rows[cxGrid1DBTableView1.DataController.FocusedRowIndex].Values[FarkAlani.Index] := '1111';

Fakat bunu ADOQuery içine değilde cxgrid içerisindeki kısımdan field ekleyerek nasıl yapabilirim.
çünkü query dinamik olarak değişebiliyor bu durumda ADOQuery içine calculated field olmuyor.
Teşekkürler
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
adnansirca
Üye
Mesajlar: 135
Kayıt: 14 Kas 2005 12:24

Re: cxgrid ek alan olusturma ve deger atama

Mesaj gönderen adnansirca »

cxGrid view kısmında add metodu ile alanı oluşturun. Bu alanın Databinding FieldName kısmını boş bırakın.
İstediğiniz zaman bu alana atama yapabilirsiniz.

Kod: Tümünü seç

cxGridViewColumnX.DataBinding.FieldName := xDataset.FieldByName('x').Value
gibi.
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: cxgrid ek alan olusturma ve deger atama

Mesaj gönderen adelphiforumz »

S.A.
tesekkürler verdiğiniz örnekten yola çıkarak aşağıdaki gibi bir kodla işimi hallettim
ayrıca yapmış olduğum en büyük hata databinding kısmında ValueType vermemisim bunuda verince herşey düzeldi.
aşağıdaki kod hangi satır üzerinde bulunuyorsam o satırda işlem yapıyor
C.DataBinding.DataController.Values[cxGrid1DBTableView1.DataController.FocusedRowIndex, C.Index] := Edit1.Text;
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2385
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: cxgrid ek alan olusturma ve deger atama

Mesaj gönderen freeman35 »

sa as miş Allah'ın selamını yazmaya üşeniyorsanız hiç yazmayın arkadaş Allah Allaah
fkCalculated eklediysen bunu gird üzerinden değil OnCalcFields(DataSet: TDataSet); eventinde yapabilirsin. Yada bazı özel dataset ler bu alanları edit etmene izin veriyor.

Kod: Tümünü seç

//cxGrid in hücrelerine erişim için
 RowIndex := VIW_Local.DataController.GetSelectedRowIndex(I);
 VIW_Local.DataController.SetValue( RowIndex, VIW_LocalTXT_Apply.Index, B);
 Kodu := VIW_Local.DataController.GetValue( RowIndex, VIW_LocalKODU.Index);
şeklinde kıvırtmanız gerekiyor :)
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Cevapla