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

在按鈕的 Click 事件中, 執行 Grid.Setfocus 之後, 不能再把其他物件 Setfocus ??

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



註冊時間: 2009-09-03
文章: 14


第 1 樓

發表發表於: 星期五 十月 23, 2009 2:35 pm    文章主題: 在按鈕的 Click 事件中, 執行 Grid.Setfocus 之後, 不能再把其他物件 Setfocus ?? 引言回覆

我在一個命令按鈕 (例如是某個新增或編輯畫面的 "確定存檔" 按鈕) 的 Click 事件中, 順利執行完 dbf 的資料更新後, 下了 Grid1.setfocus 的指令, 讓Grid應該重新顯示的動作都順利完成之後, 想立刻把 Focus 移到其他物件上 (例如標示為 "新增一筆" 的按鈕, 目的是讓 User 可以直接按 Enter 就能連續進行新增作業, 而不必再勞動滑鼠去點一下新增按鈕), 但 Focus 停在 Grid 上就無法用程式讓它自動轉移, 除此之外, 後續的其他程式指令都有繼續完成. (我有用 Messagebox() 來觀測 Grid1.Setfocus 之後的程序執行, 除了 其他物件.Setfocus 沒發生作用外, 其他的都有繼續執行完成)

不知這是 Grid 特有的特性, 還是有其他我不知曉的方法? 先謝謝先進們的指教.
回頂端
檢視會員個人資料 發送私人訊息
aizz



註冊時間: 2007-01-29
文章: 172


第 2 樓

發表發表於: 星期五 十月 23, 2009 3:01 pm    文章主題: 引言回覆

後端資料更新成功之後, 想讓前端畫面上的資料全面更新, 有更好的指令

THISFORM.REFRESH

Laughing
回頂端
檢視會員個人資料 發送私人訊息
lee188188



註冊時間: 2007-01-27
文章: 33


第 3 樓

發表發表於: 星期五 十月 23, 2009 4:52 pm    文章主題: 引言回覆

進入grid 後要跳出,可利用隱藏的按鈕+click,
setfocus 到此隱藏的按鈕,再跳到您要的欄位即可!
像我附上產品建檔,最後一欄向下新增也都是利用隱藏按鈕,
透過中間跳板的按鈕grid好像才聽話,
否則grid 的焦點會停在它自己,參考....
可能有高手有更好的方法說!
回頂端
檢視會員個人資料 發送私人訊息
LiuRambo



註冊時間: 2007-11-27
文章: 481


第 4 樓

發表發表於: 星期一 十月 26, 2009 12:05 pm    文章主題: 引言回覆

我的建議是
GRID完成資料新增之後,
thisform.grid1.refresh
Setfocus到其他按鈕

或者把新增的按鈕當成是'啟動新增模式'
grid長完資料後自動再漲一筆新的
游標一到新的紀錄上繼續輸入(類似excel一樣)
直到使用者按了取消
也就根本不用叫使用者一直去點'新增'
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
yder



註冊時間: 2009-09-03
文章: 14


第 5 樓

發表發表於: 星期一 十月 26, 2009 12:56 pm    文章主題: 引言回覆

感謝大家的指點.
在還沒看到 lee188188 大大的方式之前, 我使事先採用了如 LiuRambo 所說的方式, 直接讓程序進入新一筆資料的編輯畫面, 而不試圖讓 Focus 停留在 "新增一筆" 的按鈕上.

lee188188 大大的方法, 我有試過了, 可以達到效果, 之前都沒想過, 可以用一個過渡按鈕來完成這種需求.

致於 Aizz 大大的意見, 如果我只用 Grid.Refresh 而不經過 Grid.Setfocus 雖然資料流程不會有錯誤, 但畫面上會變成 Grid 左邊三角形指標和用顏色 Hilight 的不同行, 感覺怪怪的.

謝謝大家的解惑, 收穫不少.
回頂端
檢視會員個人資料 發送私人訊息
LiuRambo



註冊時間: 2007-11-27
文章: 481


第 6 樓

發表發表於: 星期二 十月 27, 2009 11:09 am    文章主題: 引言回覆

yder 寫到:
感謝大家的指點.
在還沒看到 lee188188 大大的方式之前, 我使事先採用了如 LiuRambo 所說的方式, 直接讓程序進入新一筆資料的編輯畫面, 而不試圖讓 Focus 停留在 "新增一筆" 的按鈕上.

lee188188 大大的方法, 我有試過了, 可以達到效果, 之前都沒想過, 可以用一個過渡按鈕來完成這種需求.

致於 Aizz 大大的意見, 如果我只用 Grid.Refresh 而不經過 Grid.Setfocus 雖然資料流程不會有錯誤, 但畫面上會變成 Grid 左邊三角形指標和用顏色 Hilight 的不同行, 感覺怪怪的.

謝謝大家的解惑, 收穫不少.


顏色不同應該是recno()沒有跟著變化的問題
REFRESH和setfocus有差別,refresh僅是畫面上更新
setfocus還先引動AfterRowColChange
我自己的程式在這裡面就有重新指定recno()來讓highlight指標變化
我猜樓主的應該也是
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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