1

Konu: Grid de silinmiş recordlar

thisform.grid2.SetAll("DynamicBackColor", "IIF(MOD(RECNO( ), 2)=0, RGB(255,255,255) ;
   , RGB(0,255,0))", "Column")

Gridde satırları iki renk  olarak tasarladım. Recno() tekse bir renk çiftse bir renk. ancak aradan bir satırı silince iki satırda recno()=tek numara olduğundan altalta iki satır aynı renk oluyor. Bunu nasıl engelleyebilirim.

Teşekkür ederim.

2

Re: Grid de silinmiş recordlar

Recno() yerine activerow u deneyin.
Thisform.grid2.activerow

3

Re: Grid de silinmiş recordlar

galiba activerow ile olmuyor. IIF değeri dosyadan okumak istiyor.
Aynı şekilde endekslenmiş dosyalarda da aynı sıkıntı oluyor.

eğer kayıtlar üstünde değişiklik yapılmayacaksa:

Visual Fox Pro
SELE * FROM gridkaynakdosya INTO CURSOR griddosya

ThisForm.Grid2.RecordSource="griddosya"
thisform.grid2.SetAll("DynamicBackColor", "IIF(MOD(RECNO( ), 2)=0, RGB(255,255,255) ;
   , RGB(0,255,0))"
, "Column")


eğer varsa

Visual Fox Pro
SELECT RECNO() AS relasyoncu ,0 AS kayit FROM gridkaynakdosya INTO CURSOR xcurs READWRITE

INDEX ON relasyoncu TAG relasyoncu
REPL ALL kayit WITH RECNO()
SELECT gridkaynakdosya
SET RELA TO relasyoncu  INTO xcurs
ThisForm.Grid2.RecordSource="gridkaynakdosya"
thisform.grid2.SetAll("DynamicBackColor", "IIF(MOD(xcurs.kayit, 2)=0, RGB(255,255,255) ;
   , RGB(0,255,0))"
, "Column")


Her şartta SET DELE ON
Denemedim ama olmalı - Tabi ÇetinB. çözümü mahfuzdur !

VFP9 SP2

4

Re: Grid de silinmiş recordlar

konuka yazdı:

galiba activerow ile olmuyor. IIF değeri dosyadan okumak istiyor.
Aynı şekilde endekslenmiş dosyalarda da aynı sıkıntı oluyor.
...


problem grid'in focuslanmadan önce activerow property'sinin değerinin sıfır olması:

"ActiveRow returns zero if the grid doesn't have the focus or when you access a row outside the grid display."

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

5

Re: Grid de silinmiş recordlar

Burada şöyle bir sorunla karşılaştım.
sanırım kayıtnoyu ( recno() ) alınca kayıtların ben belli bir düzene göre listelettiğim için kayıt numarası çift olan 4 5 kayıt arka arkaya geliyor ve renkler aynı oluyor bunları farklılaştırmak için nasıl yapmalıyım. recno() yerine column number gibi bişi varmıdır.

6

Re: Grid de silinmiş recordlar

delete yaptığın için o satır siliniyor fakat tamamen değil senin pack yapman lazım.
delete edilmişleri gösterme "set delete on" seçeneğide kullanmışsan onlarıda ekranda göremiyorsun fakat problem şurda onlar hala orda ve recnosu ilk aldığı recno()  çift recno olma ihtimali yok.

çözüm
eğer çok kullanıcılı açmış isen pack yapamazsın eğer satırlarda değişiklik yaptırmıyorsan select ile seçtiğini gridde kullan eğer değişiklik hakkı vermiş isen recno dışında kendin bir sütunda  takip et. dosyayı her çağırdığında bu sütün içeriğini istediğin renklendirmeye göre değer ver. delete lere görede kontrolünü sağlayarak renklendirmeni sağlayabilirsin

7

Re: Grid de silinmiş recordlar

http://www.fox4um.com/topic/353/gridde- … ortalatma/