devexpress vertical grid
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
devexpress vertical grid
S.a. Arkadaşlar
projede kullandığım bir mem (virtual table) tablom var bu tabloyu xml okuyarak dolduruyrum ve bu table yi vertical grid e oluşturuyorum, vertical grid de bilgiler gözüküyor ama
seçtiğim elemana tıklayınca onun değerini okumak istiyorum, şimdiden yardımlarınız için teşekkür ederim
projede kullandığım bir mem (virtual table) tablom var bu tabloyu xml okuyarak dolduruyrum ve bu table yi vertical grid e oluşturuyorum, vertical grid de bilgiler gözüküyor ama
seçtiğim elemana tıklayınca onun değerini okumak istiyorum, şimdiden yardımlarınız için teşekkür ederim
Re: devexpress vertical grid
Merhaba ,
Vertical grid OnCLik olayında "TVerticalGrid.FocusedRow" size seçili satırı verir, eğer editörRow harici tipte row kullandıysanız önce editör row olup olmadığını kontrol edip değeri alabilirsiniz şöyle ;
Vertical grid OnCLik olayında "TVerticalGrid.FocusedRow" size seçili satırı verir, eğer editörRow harici tipte row kullandıysanız önce editör row olup olmadığını kontrol edip değeri alabilirsiniz şöyle ;
Kod: Tümünü seç
if VerticalGrid.FocusedRow is TcxEditorRow then showmessage(TcxEditorRow( VerticalGrid.FocusedRow ).Properties.Value);
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
Re: devexpress vertical grid
cevabınızla sorun çözüldü, teşekkür ederim, emeğinize yüreğinize sağlık
Re: devexpress vertical grid
Merhabalar,vkamadan yazdı:Merhaba ,
Vertical grid OnCLik olayında "TVerticalGrid.FocusedRow" size seçili satırı verir, eğer editörRow harici tipte row kullandıysanız önce editör row olup olmadığını kontrol edip değeri alabilirsiniz şöyle ;
Kod: Tümünü seç
if VerticalGrid.FocusedRow is TcxEditorRow then showmessage(TcxEditorRow( VerticalGrid.FocusedRow ).Properties.Value);
Multieditorrow alanlarda değeri nasıl alabiliyoruz.
teşekkürler
Re: devexpress vertical grid
Merhabalar ,smokie yazdı: Merhabalar,
Multieditorrow alanlarda değeri nasıl alabiliyoruz.
teşekkürler
Evet MultiEditorRow da durum biraz daha farklı , TcxVerticalGrid.Controller altında Protected olarak tanımlı olan CellIndex property si size focused olan hücre indisini verir sizde bu index i kullanıp MultiEditorRow un gerekli hücresine ulaşırsınız kullanımına şöyle bir örnek verelim ,
ilgili property protected olduğundan OOP kuralları gereği TcxVerticalGrid i miras alan yeni bir sınıf tanımlayın ,
Kod: Tümünü seç
type TYeniVerticalGrid = class ( TcxVerticalGrid );
Kod: Tümünü seç
if VerticalGrid.FocusedRow is TcxMultiEditorRow then
begin
showmessage( TcxEditorRowItemProperties ( TcxMultiEditorRow ( VerticalGrid.FocusedRow ).Properties.Editors[ TYeniVerticalGrid(VerticalGrid).Controller.CellIndex ] ).Value );
end;
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
Re: devexpress vertical grid
Cavabın için teşekkürler.
İki şey daha sorsam
Seçimlere bağlı kayıt yapmak istiyorum. kayıt işlemi birden fazla tabloyu ilgilendirdiği için,
CxDBVerticalEdit yerine CxVerticalEdit kullanıyorum.
focus anında bilgileri almak yerine
gerekli bilgiler girildikten sonra hücrelerdeki verileri bu şekilde alıyorum.
Dogrumu yapıyorum, ilerde bir sorun çakışma yaratır mı.
çünkü, verticalgirdde, 2 adet lookupcombobox 3 adet imagecombobox ve calceditler var.
daha önce verticalgrid kullanmadım, denemelerde bir sorun yaratmadı ama insan yinede tırsıyor,
Dogru bir yol izliyorum?
ikinci sorum, hücreye setfocus olayı.
Tekrar Teşekkür ederim..
İki şey daha sorsam
Seçimlere bağlı kayıt yapmak istiyorum. kayıt işlemi birden fazla tabloyu ilgilendirdiği için,
CxDBVerticalEdit yerine CxVerticalEdit kullanıyorum.
focus anında bilgileri almak yerine
gerekli bilgiler girildikten sonra hücrelerdeki verileri bu şekilde alıyorum.
Kod: Tümünü seç
var
AValue,AValue2 Variant;
begin
AValue := cxVerticalGrid1EditorRow2.Properties.Value;
AValue2 := cxVerticalGrid1MultiEditorRow5.Properties.Editors[0].Value;
çünkü, verticalgirdde, 2 adet lookupcombobox 3 adet imagecombobox ve calceditler var.
daha önce verticalgrid kullanmadım, denemelerde bir sorun yaratmadı ama insan yinede tırsıyor,
Dogru bir yol izliyorum?
ikinci sorum, hücreye setfocus olayı.
Tekrar Teşekkür ederim..
Re: devexpress vertical grid
Merhaba @smokie,
ilk sorunuz için ,
Zaten belirttiğiniz gibi bir durum için focused olan nesnenin değerini almak gereksiz ve hatta iyi yönetilmezse oldukça soruna açık bir yoldur, konuyu açan arkadaşın sanırım amacı farklı direk sorduğu tıklanan nesnenin değerini okumak bizde tıklandığında ilgili nesnenin focused nesne olması özelliğinden yola çıkarak bu gibi sonuçlar ürettik. sizin durumda takip ettiğiniz yöntem doğru olan yöntemdir sorun çıkmaz. fakat Variantlar la çalışırken VarIsNull gibi kavramları kullanmanız ya da korumalı dönüşüm fonksiyonlarına başvurmanız sizi olası olumsuzluklardan koruyacaktır.
örneğin ;
datasette string tipindeki bir alana string bir değerin girileceğini bildiğiniz bir verticalgrid rowundan atama yaparken VarToStr() fonksiyonu içinde değeri okuyun çünkü eğer değer girilmemişse yani Variant boşsa kırılma oluşacaktır ilgili fonksiyon variant boşsa boş String döndürecektir.
diğer sorunuz ;
metodu mevcuttur , focus olmak istediğiniz editorRow yada MultiEditorRow u verebilir, eğer MultiEditorRow veriyorsanız ihtiyaca göre ikinci parametreye de hücre indexini belirtebilirsiniz.
İyi çalışmalar.
ilk sorunuz için ,
Zaten belirttiğiniz gibi bir durum için focused olan nesnenin değerini almak gereksiz ve hatta iyi yönetilmezse oldukça soruna açık bir yoldur, konuyu açan arkadaşın sanırım amacı farklı direk sorduğu tıklanan nesnenin değerini okumak bizde tıklandığında ilgili nesnenin focused nesne olması özelliğinden yola çıkarak bu gibi sonuçlar ürettik. sizin durumda takip ettiğiniz yöntem doğru olan yöntemdir sorun çıkmaz. fakat Variantlar la çalışırken VarIsNull gibi kavramları kullanmanız ya da korumalı dönüşüm fonksiyonlarına başvurmanız sizi olası olumsuzluklardan koruyacaktır.
örneğin ;
datasette string tipindeki bir alana string bir değerin girileceğini bildiğiniz bir verticalgrid rowundan atama yaparken VarToStr() fonksiyonu içinde değeri okuyun çünkü eğer değer girilmemişse yani Variant boşsa kırılma oluşacaktır ilgili fonksiyon variant boşsa boş String döndürecektir.
diğer sorunuz ;
Kod: Tümünü seç
TcxVerticalGrid.FocusRow(ARow : TcxCustomRow ; ACellIndex : Integer = 0)
İyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
Re: devexpress vertical grid
Cevapların için çok mu çoook Teşekkür ederim.
İyi Çalışmalar Dilerim..
İyi Çalışmalar Dilerim..