1

Konu: Locatorgrid nedir?

Sevgili Arkadaşlar,
Formda bir süredir "locatorgrid" diye bir şey tartışılıyor. Locatorgrid , ne VFP yardımında var ne de webde bu konuda doğru dürüst birşey bulabildim.
Bu konuda bir-iki açıklayıcı cümle yazarak beni meraktan kurtarır mısınız?
İlgilenecek arkadaşlara şimdiden çok teşekkür ederim.
Sevgilerimle.
Erdal

2

Re: Locatorgrid nedir?

kısaca söylemek gerekirse
faydalı bir eser
kötü bir yanı var bağımlılık yapıyor

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

3

Re: Locatorgrid nedir?

bir çeşit grid, her sütuna göre kayıtlarını sıralayabiliyorsun ,aradığın kayıdı sütün header ina yazarak bulabiliyorsun,arama butonu yapmana gerek yok artık,istedeğin kayıtları filtreleyebiliyorsun, şimdilik aklıma gelenler bunlar

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

4

Re: Locatorgrid nedir?

Tarık; locator grid 'in ne olduğunu söyledin ama kimin eseri olduğunu söylemeyi unuttun.

Locator grid; foxyclass paketi içerisinde bir class. Ne mi yapıyor? İstenen satırlardaki renk vurgulamalarını ayarlıyor; sıralama ve arama işlevleri mükemmel.

Foxyclasses paketinin içerisinde daha bir çok faydalı araç mevcut. Detaylar için :

http://www.foxyclasses.com/products_tour.htm

Yazarını ben şahsen çok yakından tanıyorum. Fox4um a üye olan ve biraz takip eden herkesin çok iyi bildiği, tanıdığı birisi:

ÇETİN BAŞÖZ

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ü

5

Re: Locatorgrid nedir?

Şaşmamak lazım yapımcıya smile

6

Re: Locatorgrid nedir?

Uğur kasten söylemedim, biraz merak uyansın dikkat çeksin diye. ürünü ön plana çıkardım yani smile

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

7

Re: Locatorgrid nedir?

Abi,
Locatorgrid 15-16 class'i iceren FoxyClasses paketinin icindeki classlardan birisi. Amaci, kayitlari gridde gosterip, 'onceki, sonraki, ilk, son' gibi butonlarin yerini almak. Benim formlarimda o butonlar yok. Onun yerine Locatorgrid var. Istedigin kolona gidip dogrudan yazmaya basliyorsun, o da gridde bulup gosteriyor (combo incremental search gibi ama biraz farkli, Ahmet yazmak icin zamana karsi yarismiyorsun) ve formdaki alanlar ona gore guncelleniyor. Ayrica, istedigin kolona gore ascending/descending siralayabiliyor, herhangi bir degere gore filtreleyebiliyorsun.
Anlatmak zor geldi, kisa bir video yaptim (gerci cok da anlasilir olmadi orada ama gercek uygulamadan cekildi):

http://screencast.com/t/44QZgX3vwJd

8

Re: Locatorgrid nedir?

peki sql-server viewlerinde nasıl çalışıyor? sanal fetch yapıyor mu? ben UT'de yazılan bir kod parçasını kullanıyorum onun için. bizim şirketteki delphi'ci arkadaşlara da o kod parçasını verdim ama kullanamadılar. bunun için bir companent satın aldılar. emin değilim ama devexpress .net versiyonunda bunu destekliyor galiba. onların açıklamalarından bunu anladım. delphi'de desteklemediği kesin, çünkü bizde devexpress delphi versiyonu var.

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

9

Re: Locatorgrid nedir?

Sevgili Arkadaslar,
Öncelikle açıklama yapan herkese teşekkür ederim.
Uğurun verdiği linkden demoyu indirdim. Çok güzel ama fiyatı benim gibi amatörleri çook aşar.
Sevgilerimle.
Erdal.

Not:
Sevgili Çetin, verdiğin linkdeki video çalışmıyor.

10

Re: Locatorgrid nedir?

Arkadaşlar, yardımınıza ihtiyacım var.
Bir projede sadece LocatorGrid'i kullanmak istiyorum. Foxyclass'ı indirip zip dosyayı açtım.
Projede nerelere hangi dosyaları eklemem lazım ki locatorgrid'i kullanabileyim.
Yardım ve destekleriniz için şimdiden teşekkürler.

11

Re: Locatorgrid nedir?

Class Libraries bölümüne grids.vcx'i gösterip ekledim.
Bir tane formun içine de gridlerden locatorgrid koydum.
Başka bir işlem yapmadan formu çalıştırıp gride tıkladığımda "unknown member myheader1" yazıyor.

12 Son düzenleyen, cetinbasoz (27.04.2015 12:06:50)

Re: Locatorgrid nedir?

LocatorGrid icin grids.vcx ve myHeader.prg gerekiyor. Projene myHeader.prg'yi de ekle. Tabii bu da yetmeyecek, LocatorGrid'in cSQL propertysine bir SQL yazmalisin. SQL'i yazarken basindaki "select" kelimesini yazma. Ornek:

* from Customer

Ben FoxyClasses'in hemen hemen hepsini kullanidigim icin onlari mevcut librarylere ekledim:
Tools\Options\Controls'da
Visual Class Libraries secili iken Add diyerek, FoxyClasses'in tum vcx'lerini ekledim. Boylece ne zaman bir formda calissam, form toolbar'da kitaplik ikonuna tiklayinca acilan listede onlar hazir.

LocatorGrid ve diger FoxyClasses kontrollerini is basinda gormek istersen:

https://www.youtube.com/watch?v=Rx2B0oIaozY

13

Re: Locatorgrid nedir?

Teşekkürler Çetin Hocam.
Hemen deneyeceğim.

14

Re: Locatorgrid nedir?

Hocam, çalışmaya başlamadan önce aşağıdaki hatayı veriyor ama çalışıyor.
Dediğiniz şekilde tüm vcx'leri de tanıttım, çok güzel oldu. Çoook çok teşekkürler.

Locatorgrid Methodlarından aşağıdaki Createtags içinde yer alan
Index on &cField tag (lcTagName)
satırına invalid key length diyor ama ignore edince çalışmaya devam ediyor.

Locatorgrid Createtags procedure :

Visual Fox Pro
local lcTagName

Select (this.AliasName)
For ix = 1 to fcount()-1
    lcTagName = iif(len(field(ix))>10,"COL"+ltrim(str(ix)),field(ix))
    If type(field(ix)) $ "C"
        cField = Iif(Fsize(Field(ix)) > 240, ;
            "left(upper("+field(ix)+"),240)",;
            "upper("+field(ix)+")")
        Index on &cField tag (lcTagName)
    Endif
    If type(field(ix)) $ "TD"
        cField = "ttoc("+field(ix)+",1)" && format as YYYYMMDDhhmmss
        Index on &cField tag (lcTagName)
    EndIf
    If m.ix <= this.ColumnCount and this.Columns(m.ix).Tag = 'N'
        cField = "Upper(padl(Trim("+Field(m.ix)+"),"+Transform(Fsize(Field(m.ix)))+"))" && val() like order
        Index on &cField tag (lcTagName)
    endif
    If type(field(ix)) $ "N"
*        cField = "Upper(padl("+Field(m.ix)+",20))" && val() like order
        cField = Field(m.ix) && val() like order
        Index on &cField tag (lcTagName)
    EndIf
Endfor
Set order to 0
Go top

15

Re: Locatorgrid nedir?

Hocam, fieldlerden bir tanesi 200 character uzunluğundaydı. Tüm denemelerimden sonra bu field uzunluğunu 120'ye indirdiğimde hata vermiyor. 121 olduğunda hata veriyor, çözüm için ne önerirsiniz ?

16

Re: Locatorgrid nedir?

Visual Fox Pro
cField = Iif(Fsize(Field(ix)) > 240, ;

            "left(upper("+field(ix)+"),240)",;
            "upper("+field(ix)+")")


satırlarındaki 240'ları 120 yaptığımda sorun olmuyor. Umarım yanlış bir şey yapmamışımdır.

comez yazdı:

Hocam, fieldlerden bir tanesi 200 character uzunluğundaydı. Tüm denemelerimden sonra bu field uzunluğunu 120'ye indirdiğimde hata vermiyor. 121 olduğunda hata veriyor, çözüm için ne önerirsiniz ?

17

Re: Locatorgrid nedir?

Visual Fox Pro
cField = Iif(Fsize(Field(m.ix)) > 120, ;

            "left(upper("+field(m.ix)+"),120)",;
            "upper("+field(m.ix)+")")

Problemi Turkish collation ya da Code page Turkish yaratiyor ama hangisi emin degilim. Collation ise set collate to machine ile problem ortadan kalkardi. Tavsiyem, eger collate Turkish kullaniyorsan, kullanma.

18

Re: Locatorgrid nedir?

Doğrudur hocam, kullanıyorum.
Kullanmadığımda programın farklı yerlerinde kullandığım farklı databaselerde Türkçe karakter sıralamalarında sorun olur mu hocam ?
Nasıl bir yöntemle devam etmemi tavsiye edersiniz ?

Vakit ayırdığınız için tekrar çok teşekkürler.

19

Re: Locatorgrid nedir?

Collate bir tek siralamada ise yariyor, onun disinda bas agrisi. Olan kayitlari yokmus gibi gosterdigine sahit oldum ben hic kullanmiyorum.

20

Re: Locatorgrid nedir?

LocatorGrid'deki bir Logical kolona (.t. / .f.) Checkbox koydum.
Kolonun Sparse değerini .F. yapıp currentcontrol olarak da checkbox'ı seçtiğim halde Checkbox olarak gelmiyor, text olarak gözüküyor. Locatorgrid için farklı bir işlem mi yapılmalı ?

Teşekkürler.

21

Re: Locatorgrid nedir?

MultiSelectGrid'in init kodlarini incele. ChkBoxes=.t. ise o checkbox ekliyor.