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

grid如何讓recordmark的黑色小箭頭同步移動

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



註冊時間: 2005-01-08
文章: 65


第 1 樓

發表發表於: 星期六 一月 29, 2005 11:26 am    文章主題: grid如何讓recordmark的黑色小箭頭同步移動 引言回覆

vfp6.0
按(上)下一筆按鍵時,如何能讓recordmark的黑色小箭頭同步移動
而不用自己拉捲軸小箭頭才移動

在grid中,如何偵測現在點選的列,是首,末,上,下筆,因為想和
首末上下筆按鍵組同步;例如:末筆時,下末筆會disabled的效果,

謝謝
回頂端
檢視會員個人資料 發送私人訊息
小賴



註冊時間: 2004-12-27
文章: 476


第 2 樓

發表發表於: 星期六 一月 29, 2005 11:55 am    文章主題: 引言回覆

移動記錄後Grid1.Refresh可重罝黑色小指標
使用RECNO(), RECCOUNT() 函數測知記錄是
否指到第一筆或最後一筆
RECCOUNT() = 0 : 資料表格無任何記錄 四個Command階Disabled
RECCOUNT() = RECNO() 記錄指到最後一筆; 下與未之Command Disabled
RECNO() = 1 記錄指到第一筆, 或無記錄, 上與首之Command Disabled
.......
詳細指令請自行測試
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
jms7275



註冊時間: 2005-01-08
文章: 65


第 3 樓

發表發表於: 星期六 一月 29, 2005 1:31 pm    文章主題: 引言回覆

小賴 寫到:
移動記錄後Grid1.Refresh可重罝黑色小指標
使用RECNO(), RECCOUNT() 函數測知記錄是
否指到第一筆或最後一筆
RECCOUNT() = 0 : 資料表格無任何記錄 四個Command階Disabled
RECCOUNT() = RECNO() 記錄指到最後一筆; 下與未之Command Disabled
RECNO() = 1 記錄指到第一筆, 或無記錄, 上與首之Command Disabled
.......
詳細指令請自行測試


感謝小賴大的回應
報告一下小弟之前的試驗
弟有在click中去refresh grid,但似乎無效,一定要拉捲軸才行
也有試過在click中執行grid的scrolled事件,捲軸有被拉動,但指標沒跟著同步移動

RECCOUNT() = 0似乎對已deleteMark的資料仍會算進去,即使已於主索引
設定filter為not deleted()
我現在是用count for去計算,但會使指標移到eof,因此要先記錄目前的recno(),
以便back to 原記錄

不知是否因為有對table先做過排序動作的關係
,我發現grid中的第一筆資料,它的recno()並非1,
因而無法用recno()=1,判斷此時首筆該disabled
不知grid是否有可以抓座標或方向的事件
判斷我是點選grid中的首筆,末筆或上,下筆
回頂端
檢視會員個人資料 發送私人訊息
小賴



註冊時間: 2004-12-27
文章: 476


第 4 樓

發表發表於: 星期六 一月 29, 2005 2:23 pm    文章主題: 引言回覆

小指標經Grid1.refresh後重置我試了幾次都沒問題
因此你的這問題我就不得而知了
倒是資料表格在有INDEX與Filter的情況要確認指標位置
還真是不容易;如果你只要確認的只是第一筆或最後一筆
不妨考慮如下最笨的程式碼(這種笨方法有誰需要我提示
我還真不是普通笨)



SKIP
IF EOF()
GO BOTTOM
&& 已到尾; 看你要幹嘛
ELSE
SKIP -1
ENDIF

SKIP -1
IF BOF()
GO TOP
&& 已到首; 看你要幹嘛
ELSE
SKIP
ENDIF

Thisform.Grid1.Refresh
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
jms7275



註冊時間: 2005-01-08
文章: 65


第 5 樓

發表發表於: 星期六 一月 29, 2005 4:40 pm    文章主題: 引言回覆

小賴 寫到:
小指標經Grid1.refresh後重置我試了幾次都沒問題
因此你的這問題我就不得而知了


我想到了
應該是我去count for(指標移動了)動作,放的位置不太對導致
回頂端
檢視會員個人資料 發送私人訊息
jms7275



註冊時間: 2005-01-08
文章: 65


第 6 樓

發表發表於: 星期六 一月 29, 2005 11:35 pm    文章主題: 引言回覆

用commandButton上下移動grid捲軸,弟有搜尋到答案
http://vfp.sunyear.com.tw/viewtopic.php?t=306&highlight=grid


jms7275 在 星期日 一月 30, 2005 11:19 pm 作了第 1 次修改
回頂端
檢視會員個人資料 發送私人訊息
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2160


第 7 樓

發表發表於: 星期日 一月 30, 2005 9:24 pm    文章主題: 引言回覆

黑色小箭頭同步移動 -- > 試看看 thisform.grid.columns(1).text1.setfocus()
_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
jms7275



註冊時間: 2005-01-08
文章: 65


第 8 樓

發表發表於: 星期一 一月 31, 2005 2:04 am    文章主題: 引言回覆

garfield 寫到:
黑色小箭頭同步移動 -- > 試看看 thisform.grid.columns(1).text1.setfocus()


感謝garfield大的指點,的確可以了
而且setfocus時,方格會變藍色的,
看起來清楚多了

grid.refresh的方式感覺怪怪的,有一次有成功
其他次都失敗,可能是焦點跑掉了
回頂端
檢視會員個人資料 發送私人訊息
jms7275



註冊時間: 2005-01-08
文章: 65


第 9 樓

發表發表於: 星期一 一月 31, 2005 10:18 pm    文章主題: Re: grid如何讓recordmark的黑色小箭頭同步移動 引言回覆

jms7275 寫到:
vfp6.0
在grid中,如何偵測現在點選的列,是首,末,上,下筆,因為想和
首末上下筆按鍵組同步;例如:末筆時,下末筆會disabled的效果,


自答一下,想到寫法了,在Grid的AfterRowColChange事件裡
SKIP -1
IF BOF()
GOTO top
thisform.isbof=.t.
thisform.iseof=.f.
thisform.pos(1,1)=1 &&首筆
ELSE
SKIP 2
IF EOF()
GOTO bottom
thisform.isbof=.f.
thisform.iseof=.t.
thisform.pos(1,1)=3 &&末筆
ELSE
SKIP -1
thisform.isbof=.f.
thisform.iseof=.f.
thisform.pos(1,1)=2 &&非首亦非末筆
ENDIF
ENDIF
commandButton_Group.refresh

&&利用thisform.pos(1,1)的值讓command_Group refresh時做改變
&&宣告thisform.pos(3,1),因為有三個grid共用這組按鈕
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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