上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
KKKLYNN
註冊時間: 2004-09-17 文章: 357
第 1 樓
|
發表於: 星期五 十一月 12, 2004 9:43 am 文章主題: 切換index時位於grid內的資料不會依指標所在為中心,進行排序(是正確的排序但指標位移了) |
|
|
DBF切換INDEX時,grid內的資料不會依指標所在的資料為中心而排序
於grid內的資料當切換index時,資料是正確的排列了!
但指標也隨意位移,印象中好像排列會依指標所在為中心作排序(也就是資料指標不動的排序),不知是我哪裡沒設定!
有時文字表達不是很明確!(說的比較快)!希望不要見怪!
謝謝啦! |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 2 樓
|
發表於: 星期五 十一月 12, 2004 11:05 am 文章主題: |
|
|
nRECNO = RECNO()
處理程式比如....SET ORDER TO .....
GO nRECNO
在BROWSE中處理單筆資料使用FOR子句
也會發生相同情況 |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 3 樓
|
發表於: 星期五 十一月 12, 2004 11:10 am 文章主題: |
|
|
針對這種情況
如何寫才不會遭遇到這種狀況 |
|
回頂端 |
|
 |
KKKLYNN
註冊時間: 2004-09-17 文章: 357
第 4 樓
|
發表於: 星期六 十一月 13, 2004 8:21 pm 文章主題: |
|
|
其實這是蠻重要的排序狀況
因為查看資料的都是mis的老闆!讓老闆難查詢就會讓mis難過!
所以請協助! |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 5 樓
|
發表於: 星期六 十一月 13, 2004 11:12 pm 文章主題: |
|
|
解決方法不是已經說了
將指標保留住,不就得了
只是是不是有更漂亮的寫法,去避免這種問題發生 |
|
回頂端 |
|
 |
KKKLYNN
註冊時間: 2004-09-17 文章: 357
第 6 樓
|
發表於: 星期六 十一月 13, 2004 11:49 pm 文章主題: |
|
|
kk=recno()&&單一DBF
sele 營業訂單
set order to 機種名稱
go kk
THISFORM.GRID3.REFRESH
觸發如圖的紅色抬頭(grid的label)EVENS,效果沒出現
問題出現在哪?
效果沒出現 |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 7 樓
|
發表於: 星期日 十一月 14, 2004 12:48 am 文章主題: |
|
|
問題的主題點是A
kk=recno()&&單一DBF
sele 營業訂單
set order to 機種名稱
go kk
THISFORM.GRID3.REFRESH
觸發如圖的紅色抬頭(grid的label)EVENS,效果沒出現
問題出現在哪?
效果沒出現
這個指的是B
我是閒閒沒事幹,不然懶得理你 |
|
回頂端 |
|
 |
KKKLYNN
註冊時間: 2004-09-17 文章: 357
第 8 樓
|
發表於: 星期日 十一月 14, 2004 8:42 am 文章主題: |
|
|
謝謝您的回覆!我再查查看!  |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 9 樓
|
發表於: 星期日 十一月 14, 2004 12:31 pm 文章主題: |
|
|
代碼: |
nORDER = ORDER()
.....................
SET ORDER TO 4
IF LASTKEY() = 27
SET ORDER TO TAG (nORDER)
RESTORE SCREEN FROM cSCR
=RESTSTAT(@cSCR1)
ACTIVATE WINDOWS (cOUTPUT)
RETU
ENDIF
IF EMPTY(aRETU2)
REPORT FORM CUSQ TO FILE (cFILE) FOR C_NO = aRETU1
ELSE
REPORT FORM CUSQ TO FILE (cFILE) FOR C_NO = aRETU1 AND CU_SALNO = aRETU2
ENDIF
SET ORDER TO TAG (nORDER)
RESTORE SCREEN FROM cSCR
|
這是我指的第二種情況 for 子句會導致記錄的指標跑到
最後一筆
之前使用者在使用時就反映有這種類似情況
這都是小問題
但是想不注意它,它也是個問題
所以
應是 nRECNO 要保留,使用那個TAG也應該保留
只是有沒有更漂亮的寫法來避免以上情況
或是新版中對此類小問題,早有解決方法 |
|
回頂端 |
|
 |
jeff25
註冊時間: 2004-10-22 文章: 76 來自: taiwan
第 10 樓
|
發表於: 星期一 十一月 15, 2004 8:49 am 文章主題: |
|
|
如果不能用 FOR 改用 SET FILTER TO 看看 _________________ jeff |
|
回頂端 |
|
 |
KKKLYNN
註冊時間: 2004-09-17 文章: 357
第 11 樓
|
發表於: 星期一 十一月 15, 2004 9:01 am 文章主題: |
|
|
已經將問題解決了
各位先進請參考!
kk=recno()
sele 營業訂單
set order to 機種名稱
go kk
THISFORM.grid1.SETFOCUS()
THISFORM.GRID3.REFRESH
THISFORM.grid3.SETFOCUS()
grid的特性是會自動鎖定顯示位置,也就是資料指標位移,顯示位置還是固定,故無法自動位移至正確的資料!
所以切換 index 後將 focus 轉至任一物件,將資料表格的grid refresh,再將 focus 轉回 資料表格的 grid
如此 grid就會自動指標,指到正確的位置!
以上謝謝 |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 12 樓
|
發表於: 星期一 十一月 15, 2004 9:19 am 文章主題: |
|
|
setfocus 和getfocus
那不是游標註點所在的函數嗎
今天所指出的問題點是在於
set order to 之後
索引的排列會造成資料順序有一些問題
有讀過資料庫這門學問的人,應該知道
資料庫和索引的關係
使用不同tag的索引之後
資料的順序會不同
記錄了資料錄編號
只是一個變通的方法
這本就是個小問題
但我總覺得應該有更漂亮的解法 |
|
回頂端 |
|
 |
KKKLYNN
註冊時間: 2004-09-17 文章: 357
第 13 樓
|
發表於: 星期一 十一月 15, 2004 2:50 pm 文章主題: |
|
|
小問題?
身為一個程式設計師,就是要提供簡易的功能讓使用者方便!
使用者能用地順手,是最為重要!(當然一些價值的判別還要留給使用者做決定)
哪也是小問題這也小問題!公司要我這mis幹嘛!! |
|
回頂端 |
|
 |
|