 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
moon64
註冊時間: 2008-12-16 文章: 45
第 1 樓
|
發表於: 星期二 一月 20, 2009 12:43 pm 文章主題: GRID 自訂函數,指幾筆 就判斷否要跳頁 |
|
|
gotocell( yrow, xcol, 51) GRID 自訂函數
下頁 = 固定每51筆
1 ~ 51 筆
52 ~ 102 筆
103 ~ 153 筆
154 ~ 204 筆
205 ~ 255 筆
256 ~ 306 筆
一開始在 1筆...我找 40筆... 在 1~ 51筆內...找到 40筆
目前在 40筆...再找 55筆...自動下頁在 52~102筆內...找到 55筆
目前在 55筆...再找 204筆...自動下頁在 154~204筆內...找到204筆
目前在 204筆...再找 50筆...自動上頁在 1~ 51筆內...找到 50筆
目前在 50筆...再找 同樣的50筆...不改變...
==============================================================================
LPARAMETERS yrow,xcol,saverelativerow
Thisform.Lockscreen=.T.
rr = yrow
cc = xcol
ss = saverelativerow
This.SetFocus()
numbercolumns = This.ColumnCount
IF cc > numbercolumns THEN
cc = numbercolumns
ENDIF
cc1 = cc
currentcol = This.ActiveColumn
currentrow = This.ActiveRow
dnrow = yrow - currentrow
uprow = currentrow - yrow
dnisint = int( yrow / ss )
upisint = int( currentrow / ss )
dnismod = mod( yrow , ss )
upismod = mod( currentrow , ss )
This.Columns(cc).SetFocus
DO CASE
CASE yrow = currentrow
rr = This.RelativeRow
CASE yrow > currentrow
DO CASE
CASE <<<<< 不用下頁
rr = iif( dnismod = 0 , ss , dnismod )
CASE <<<<< 要跳下頁
FOR i = 1 to ( dnisint + iif( dnismod = 0 , 0 , 1 ) )
this.doscroll(3)
ENDFOR
rr = iif( dnismod = 0 , ss , dnismod )
ENDCASE
CASE yrow < currentrow
DO CASE
CASE <<<<< 不用上頁
rr = iif( upismod = 0 , ss , upismod )
CASE <<<<< 要跳上頁
FOR i = 1 TO ( upisint + iif( upismod = 0 , 0 , 1 ) )
this.DoScroll(2)
ENDFOR
rr = iif( upismod = 0 , ss , upismod )
ENDCASE
cc1=This.RelativeColumn
ENDCASE
movcol = ABS(currentcol - cc)
IF currentcol > cc
left = .T.
right= .F.
ELSE currentcol <= cc
right= .T.
left = .F.
ENDIF
DO CASE
CASE left
FOR i = 1 TO movcol
This.DoScroll(4)
ENDFOR
CASE right
FOR i = 1 TO movcol
This.DoScroll(5)
ENDFOR
ENDCASE
This.ActivateCell(rr,cc1)
This.Columns(cc).SetFocus
Thisform.Lockscreen=.F.
This.Refresh()
==============================================================================
程式內的一部份...case 後面..不管我測試很多方法..行不通...請大家能糾正麼..謝謝 |
|
回頂端 |
|
 |
DennisTsai
註冊時間: 2005-07-26 文章: 178
第 2 樓
|
發表於: 星期二 一月 20, 2009 1:38 pm 文章主題: |
|
|
我已很努力看,實在是看不懂你要做什麼 |
|
回頂端 |
|
 |
moon64
註冊時間: 2008-12-16 文章: 45
第 3 樓
|
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 4 樓
|
發表於: 星期二 一月 20, 2009 4:49 pm 文章主題: |
|
|
我會偷偷塞一個假欄位,
例如 1~51 是0, 52~102 是 1,
然後用這個欄位看你想做什麼. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
moon64
註冊時間: 2008-12-16 文章: 45
第 5 樓
|
發表於: 星期二 一月 20, 2009 5:23 pm 文章主題: |
|
|
To Mr. syntech: 哈 好個旁門左道的一招 我試試看 謝謝 Mr. syntech |
|
回頂端 |
|
 |
moon64
註冊時間: 2008-12-16 文章: 45
第 6 樓
|
發表於: 星期二 一月 20, 2009 7:50 pm 文章主題: |
|
|
下面我知道如何判斷要不要跳頁, 問題的是 一開頭不知怎寫,能示範一下麼?謝謝 (我有加 假欄位) |
|
回頂端 |
|
 |
moon64
註冊時間: 2008-12-16 文章: 45
第 7 樓
|
發表於: 星期二 一月 20, 2009 11:38 pm 文章主題: |
|
|
應該是解決問題...謝謝大家... |
|
回頂端 |
|
 |
區榮熾
註冊時間: 2005-11-14 文章: 191
第 8 樓
|
發表於: 星期三 一月 28, 2009 10:31 am 文章主題: |
|
|
moon64 寫到: | To Mr. syntech: 哈 好個旁門左道的一招 我試試看 謝謝 Mr. syntech |
你有些忽略了加上一個欄位的意義......
看了你秀的圖,真的不知用途..............
? 1. 要移位滑鼠就好
? 2. 要找資料 seek, indexseek, 都很順手
所以 Mr.systech才說偷塞一欄位,意謂應該有一索引欄位,你程式才能有所管控...
? > ? OR ? < ? ,(加上索引是王道)
那索引欄位可以是 Recno(), 編號, 日期,......
新春快樂 !!! |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 9 樓
|
發表於: 星期四 一月 29, 2009 3:25 pm 文章主題: |
|
|
如果條件出現固定多少筆,例如51
我的直覺會跳出來 " 要不就是除以51的商,要不就是除以51的餘數 ".
所以"1~51 是0, 52~102 是 1"
(沒有完全準,因為我亂寫的,應該要除以 52 吧! XD)
哈哈~~
懂不懂別人的提示,基本上還是要看個人的修為,
修為到了,一點就通,
就像張無忌看張三豐演繹太極拳劍一樣,
觀其型,會其意,
而不記其招.
看了別人的提示,有人可以演繹成A,有人可以演繹成B,
那也是正常的,
我的原始想法與 區兄 一樣,
這樣說來,這方面的修為應該差不多. XD
其實看多版上兄弟的POST,
也可以發現有人偏好A,有人偏好B,
偏好大多無高低優劣之分,只有適用於何種環境之分,
當然,不一定需要弄成真正的欄位,
計算出的結果當成FILTER或是WHERE條件式一樣有效果.
我也是看多版上兄弟的POST,
遇到問題自然就會出現應對的方法,
只是很多人習慣先問再查再想. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
moon64
註冊時間: 2008-12-16 文章: 45
第 10 樓
|
發表於: 星期五 二月 06, 2009 4:15 pm 文章主題: |
|
|
嗯嗯...我新手...妳們說得沒錯...我忽略那個方法...很多程式來學習...謝謝大家指導... |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|