1

Konu: Grid control source

Merhabalar.

Oluşturduğum bir cursor'u gride aktardıktan sonra grid boş görünüyor. Kolonun controlsource'sini nasıl doldurmalıyım. (Problemim en son satırda). Daha önceki kayıtlarda recordsource ile ilgili açıklamalar var. Ama kolonun controlsource'siyle  ilgili bir detay bulamadım.


CREATE CURSOR temp (c_kod c(30).......)
thisform.grid1.recordsourcetype=4
thisform.grid1.recordsource=[temp]
thisform.grid1.columncount=7
thisform.grid1.column1.controlsource=[temp.c_kod]

Şimdiden teşekkür ederim.

2

Re: Grid control source

grid cursor den önce oluşmuş olabilirmi?

thisform.grid1.recordsource=""
thisform.grid1.column1.controlsource=""

önce boşaltıp sonra doldurmayı denerseniz

3

Re: Grid control source

Eğer cursor veya table kullanıyorsan ,

thisform.grid1.recordsourcetype=4 değil ( 4 Sql Statement oluyor. )

thisform.grid1.recordsourcetype=1

olması lazım.

4

Re: Grid control source

1. Durum
Tasarım sırasında; gridi aşağıdaki gibi ayarla
RecordSourceType = 1
RecordSource = "Temp"
Column1.ControlSource = "Temp.c_Kod"
Column2.ControlSource = ...
...
Formun Load metoduna
Create Cursor Temp (c_Kod C(30), ...)
Yazman yeterli

2. Durum
Form çalışırken bir cursor oluşturup atama yapacaksan;

Visual Fox Pro
With ThisForm.grdTemp

*!* İlk önce gridin RecoudSource'ı boşaltılır.
    .RecordSource = ""
    Create Cursor Temp (c_Kod C(30), ...)
    .RecordSource = "Temp"
    .Column1.ControlSource = "Temp.c_Kod"
    && ...
EndWith
/o---------------------o\
     www.haser.com
\o---------------------o/

5 Son düzenleyen, cetinbasoz (11.09.2007 09:11:37)

Re: Grid control source

Visual Fox Pro
CREATE CURSOR temp (c_kod c(30).......)

with thisform.grid1
.recordsource="temp"
.columncount=7
.columns(1).controlsource="temp.c_kod"
.columns(2).controlsource="temp.field2"
*...
endwith


Eger cursor veya table kullaniyorsan recordsourcetype'a dokunma, varsayilanda (1-Alias) kalsin. Controlsourcelar tirnak icinde "alias.field".

Koseli parantez yerine tirnak kullanmani tavsiye ederim (Foxman cevabi vermis zaten ben bu tavsiye icin girdim araya). Nedeni tirnak, cift tirnak veya koseli parantezler biribirleri yerine kullanabilse de davranislari ayni degil. Koseli parantezler kullanildiginda eger tesadufen o anda tanimli bir #define sabiti varsa degerlendirilir. Ornek:

Visual Fox Pro
#define UYGULAMA "Uygulama 1.0"

 
.columns(2).controlsource=[temp.uygulama]
 
.columns(2).controlsource='temp."Uygulama 1.0"' && ile ayni sey

Grid'in satir cisgileri dahil bos ve bembeyaz gorunme nedenlerinden birisi controlsource'larindan en az birisinin degerlendirelememesi ve bu basina koseli parantezler nedeniyle gelebilir, bulmasi cok zor bir durum.

6

Re: Grid control source

Açıklama ve tavsiyeler için çok teşekkür ederim. Sorun çözüldü. Ek sorumu buraya yazaım. Bir cursor oluşturduktan ve select ile sectikten  sonra table ile ilgili yapılan tüm işlermerin ve komutların bu cursor üzerinde uygulanıyor olmasi gerekmezmi?

select temp
browse
ile

browse

farklı sonuçlar veriyor. önceden sele ile seçtiğim halde ve seçili olanı değiştirmediğim halde sadece browse dediğimde alakasız bir dosyayı görüntülüyor. cursor ile çalışırken tableden farklı olarak herhangi birşey yapmam gerekirmi.

Çok karıştırdım. ilk okul öğretmenim "kazkafalı" demekte haklıymış.

7

Re: Grid control source

select temp
browse

dogrusu. VFP'de ozellikle uzerinde grid olan formlarda ne zaman sen farketmeden baska bir yerin secilecegi garantisi yok. Baslikta ne yazdigina dikkat et.