1 Son düzenleyen, ozcan (17.02.2010 16:09:57)

Konu: Gridde Aktif satırın ilk kolon değeri

Merhaba arkadaşlar,
Gridde AllowCellSelection=.F. durumdayken üzerine tıkladığım satırın ilk kolonunun değerini nasıl öğrenebilirim.
Gridin click eventine This.Column1.Text1.Value yazarak almaya çalıştığımda sadece gridin ilk kolonuna tıklarsam sonucu doğru veriyor.

2 Son düzenleyen, ugurlu2001 (17.02.2010 16:18:35)

Re: Gridde Aktif satırın ilk kolon değeri

AfterRowColChange() mehhodunda dene

Visual Fox Pro
Grid1.AfterRowColChange()

Local lcMyValue
 
m.lcMyValue = This.Column1.Text1.Value
Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

3

Re: Gridde Aktif satırın ilk kolon değeri

İlk onu denemiştim, olmamıştı Uğur Bey,
aşağıdaki şekilde çözdüm.

DEGER=This.Column1.Text1.ControlSource
DEGER=&DEGER

4

Re: Gridde Aktif satırın ilk kolon değeri

...Value filan diye ugrasma, & da kullanma. Her gridin bagli oldugu bir kaynak vardir. Dogrudan kaynak tablo neyse onun ilgili alanina bak. Ornegin kaynak "customer" tablosu ise ve ilk kolonda "company" alani varsa:

deger = customer.Company

Eger grid jenerik bir grid oldugu icin bu sekilde yapamiyorsan:

deger = evaluate(this.Columns(1).ControlSource) && Column1.Text1 degil ve & kullanimi yok

5

Re: Gridde Aktif satırın ilk kolon değeri

deger = evaluate(this.Columns(1).ControlSource)
işimi görüyor hocam, teşekkürler.

6

Re: Gridde Aktif satırın ilk kolon değeri

cetinbasoz yazdı:

...Value filan diye ugrasma, & da kullanma. Her gridin bagli oldugu bir kaynak vardir. Dogrudan kaynak tablo neyse onun ilgili alanina bak. Ornegin kaynak "customer" tablosu ise ve ilk kolonda "company" alani varsa:

deger = customer.Company

Eger grid jenerik bir grid oldugu icin bu sekilde yapamiyorsan:

deger = evaluate(this.Columns(1).ControlSource) && Column1.Text1 degil ve & kullanimi yok


Tam bu noktada çalışıyordum, tartışma başka bir şekilde karşıma çıktı:
örneğin: enfazla, giden1, giden2 diye bir tablom 'a bağlı grid üzerinde işlem yapıyorum.

giden1 (mygrid.column2.Text1) Valid eventte giden1 ve giden2 toplamının enfazladan az olduğunu test edip fazla ise messagebox ile uyarı veriyorum.

Tabloya ne yaptı isem göz terketmeden yazmıyor,o nedenle değeri gözün Value değerinden almak durumunda kalıyorum - yani aşağıdakinden başka çözüm bulamadım:
mygrid.column2.Text1 Valid eventte

Visual Fox Pro
IF This.Value + tablom.giden2 > tablom.enfazla

    MESSAGEBOX("olmadı")
    RETURN 0   && Valid Event
ENDIF


ve de mygrid.column3.Text1 Valid eventte

Visual Fox Pro
IF This.Value + tablom.giden1 > tablom.enfazla

    MESSAGEBOX("olmadı")
    RETURN 0   && Valid Event
ENDIF


aftercolrowchange içinde tablo ile halledebileceğim çözüm öneriniz var mı ?

VFP9 SP2

7

Re: Gridde Aktif satırın ilk kolon değeri

Bu sadece o an uzerinde olunan goz icin sorun ve nedeni daha degeri yazmamis olamasi. Cozumu basit ama biraz garip:)

Visual Fox Pro
this.Value = this.Value

if tablom.giden1 + tablom.giden2 > tablom.enfazla
    MESSAGEBOX("olmadı")
    RETURN 0   && Valid Event
ENDIF

Not: Valid yerine lostfocusu siddetle tavsiye ederim. Valid VFP7 sonrasi problemli (gostermesi kolay olmayabilir problemi, sansimi deneyeyim - o validden baska bir formu (modal) cagirip donmek gibi)

8

Re: Gridde Aktif satırın ilk kolon değeri

evet validde ben de problemler yaşadım... ding ding diye ses geliyordu. formlar kitleniyordu.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com