VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

有無方法取得grid當時螢幕上第一筆的筆數或是指標所在grid螢幕

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
chinsavi



註冊時間: 2004-05-03
文章: 9


第 1 樓

發表發表於: 星期一 六月 14, 2004 12:26 pm    文章主題: 有無方法取得grid當時螢幕上第一筆的筆數或是指標所在grid螢幕 引言回覆

或許是我講得不清楚
引起"先進"誤會我問的不必要
我主要的問題是...
原先指標是放於GRID顯示的最上筆
但隨著翻頁及上下移動指標動作後,指標不一定在當時GRID顯示的最上筆
但是經過一些本人程序處理後,GRID又自動把指標是放於顯示的最上筆...雖然所在的筆數沒改變
我是希望指標回到原來的位置,
所以才希望得知有無方法取得grid當時螢幕上第一筆的筆數,或是指標所在grid螢幕上的筆數,以便使指標回到螢幕原來的位置 ,以合乎一般人的操作習慣
回頂端
檢視會員個人資料 發送私人訊息
elleryq



註冊時間: 2007-06-21
文章: 768


第 2 樓

發表發表於: 星期一 六月 14, 2004 8:36 pm    文章主題: 引言回覆

local ln_oldrecno
ln_oldrecno=recno() && save the position
*
* do something what you want.....
*
go ln_oldrecno && restore the position

收工 --> 這裡不用照抄...
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
chinsavi



註冊時間: 2004-05-03
文章: 9


第 3 樓

發表發表於: 星期二 六月 15, 2004 10:18 am    文章主題: 很遺憾,沒有人看得懂我想要做什麼 引言回覆

ellerq對不起,你還是不瞭解我的意思
recno()我當然知道是何用途
我要的不是在資料表格的筆數,
而是 grid顯示時從當時頁面從最上筆,數下來到指標所在的筆數
或許我表達能力太差ㄋ
希望有其他人看的懂的人可以幫忙
回頂端
檢視會員個人資料 發送私人訊息
chengsioieng



註冊時間: 2004-05-31
文章: 35
來自: 澳門

第 4 樓

發表發表於: 星期二 六月 15, 2004 10:53 am    文章主題: 引言回覆

你嘗試不要把grid refresh
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
an1060



註冊時間: 2004-02-29
文章: 48
來自: 高雄

第 5 樓

發表發表於: 星期二 六月 15, 2004 10:56 am    文章主題: 引言回覆

步驟如下: (自己寫程式碼)
1.取得目錄記錄指標 x_rec = RECNO(table名稱)
2.skip -(ThisForm.gird名稱.ActiveRow - 1) IN table名稱 &&就是目標ROW位置往上移回去至第一列
3.再用RECNO()取得第一列之record number
4.還原回第一步驟之記錄指標 GO x_rec IN table名稱
回頂端
檢視會員個人資料 發送私人訊息
chinsavi



註冊時間: 2004-05-03
文章: 9


第 6 樓

發表發表於: 星期二 六月 15, 2004 12:46 pm    文章主題: 引言回覆

TO:AN1060
你文中:
2.skip -(ThisForm.gird名稱.ActiveRow - 1) IN table名稱 &&就是目標ROW位置往上移回去至第一列
"第一列"是指整個TABLE的第一列
而我需要的是"grid顯示時從當時頁面的最上筆"
是有不同的


TO:CHENSIOEIENG
對不起,我一定要REFRESH
因我GRID中的欄位CONTROLSOURCE都已更改ㄋ
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 7 樓

發表發表於: 星期三 六月 16, 2004 9:38 am    文章主題: 引言回覆

VFP 的grid 是純種的data grid,
可以由recordsourcetype得知,
基本上都是由table 去決定 row,column.
因此, grid 的scope 是個private 屬性,
想由外部去控制似乎很困難.

實際上使用者是不會在乎畫面上的第一筆或是哪一筆等一下會有focus,
他們還是會自己找到要編輯的記錄,
很多時候都是程式設計人員自己想歪了.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
an1060



註冊時間: 2004-02-29
文章: 48
來自: 高雄

第 8 樓

發表發表於: 星期三 六月 16, 2004 2:04 pm    文章主題: 引言回覆

你先去查一下gird.ActiveRow屬性的用途
我給你的第一列是Grid目前畫面中的第一列
TABLE的第一列是GO TOP

------------
我忘了補充一點
如果,目前記錄指標所指之RECNO不在目前所見之GRID內,亦即已超出目前
GRID可視範圍外,那對不起,我以上的方法無法使用.

其實你可以好好思考一下syntech在另一篇對你所回應的內容.
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 9 樓

發表發表於: 星期三 六月 16, 2004 3:48 pm    文章主題: 引言回覆

我也發現了 chinsavi 似乎搞錯了 activerow和activecolumn 的作用及作用範圍,
實際上它只能標示作用 cell 的 row 和 column 值,
若要存取記錄,也是利用 recno() (因為 record mark 會自動移動到 作用record 上,也就是作用 row 的那筆記錄)

但是畫面上 grid 的 srope 卻與 作用 cell 不見得有關係,
這點自行點選scroll bar 就會發現了,
實際上應該也已經發現了,
所以才會這樣問.

database 操作與陣列操作不太一樣,
之前公司的工程師作過一件無聊的事,
依index 順序把全table 的record number 存入 一個陣列中(因為不多),
這樣只要 activerow 能 mapping 到 array index ,
就能利用陣列值找出 record number,
然後 go rec_no[grid.activerow + x ],
移動到該筆記錄上

這種方式真的不好,
請注意.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作