 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
吳宗欣
註冊時間: 2004-03-17 文章: 3 來自: 吳宗欣
第 1 樓
|
發表於: 星期三 三月 17, 2004 12:59 pm 文章主題: 如何在甲乙兩個終端機同步更新GRID內的資料 |
|
|
各位先進您好!我有個問題請教大家!!(問題不成熟請見諒)
1.假設我有一支程式,掛在NT的伺服器上,然後自行在甲乙兩個終端機進行測試
一個表單運作是否符合要求
2.該表單上方有一個 GRID,已經直接以精靈設定其為某資料庫的瀏覽狀態
下方則是該資料庫的 增加 修改 刪除 等功能
3.實測的結果是 在甲終端機新增一筆資料的話,在甲方的上方GRID能自動更新
新增該筆資料的狀態
4.但是此時同時在乙終端機,上方GRID並不能自動更新新增該筆資料的狀態,
必需用CLICK在GRID上 點選拖曳幾下,GRID的內容才能更新成正確
5.請問,該如何設定 如何不用在GRID上方點選拖曳,乙方表單上方的GRID能
同步更新成甲方所作的變更資料
以上!! THANKS!! |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 2 樓
|
發表於: 星期三 三月 17, 2004 5:08 pm 文章主題: |
|
|
不明瞭 ?
這是"正確"的現象?
出現"幽靈"資料,對大部分情況而言都是錯的,
引言回覆: |
必需用CLICK在GRID上 點選拖曳幾下,GRID的內容才能更新成正確
|
你自己已經找到了答案,想法子讓grid 作更新就行了 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
吳宗欣
註冊時間: 2004-03-17 文章: 3 來自: 吳宗欣
第 3 樓
|
發表於: 星期四 三月 25, 2004 12:50 pm 文章主題: |
|
|
站長 謝謝您的回覆
對不起!資質駑鈍仍有不懂之處!
繼續第一個問題
我已經在NT的程式中以 thisform.grid1.refresh()的方式來更新 grid的資料了
問題是這個更新動作,為何只作用到甲終端機的資料,乙終端機的資料為何不會
自動更新,還要用游標點選拖曳後才會更新,這樣不是很麻煩嗎?這樣乙終端機
的使用者如果沒在GRID上點選拖曳,看到的資料不是最新最正確的,這不是很
奇怪嗎?同理如果有 甲 乙 丙 丁......更多的使用者,甲更新的資料不會同步
「散布」到乙 丙 丁 .....的資料嗎?
謝謝您的教導!! |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 4 樓
|
發表於: 星期四 三月 25, 2004 2:55 pm 文章主題: |
|
|
假設你知道你在作什麼.......
1.放一個 timer在form上
2.設定timer時間
3.在timer 的 timer event 中寫入
=thisform.grid1.refresh()
=this.reset()
這樣在每間隔 timer 時間,就自己更新一次,
如果要其他條件再自己加,
這是最簡單的作法.
缺點是要消耗系統資源.
Event Programming 就是在有事件發生時才會作相對應的動作,
其他終端機因為沒有人作動作,也就是沒有發生事件,當然不需要更新.
現在是放一個timer 定期作更新,代替人的動作.
至於不應該這麼作的理由,
因為詳細原因沒有幾百字寫不清楚,
就留給其他人發揮....  _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
吳宗欣
註冊時間: 2004-03-17 文章: 3 來自: 吳宗欣
第 5 樓
|
發表於: 星期五 三月 26, 2004 12:41 pm 文章主題: |
|
|
站長!謝謝您快速的回覆
這可能是一個很有可行性的方法,我回去再試試看
但是您有提到如此寫法會消耗資源,請問可否更具體量化的形容這種狀況
我曾經將幾萬筆的資料丟在NT,在甲終端機上點選拖曳時,GRID的資料瀏覽
並沒有出現延遲的狀況
另外再問一下,在GRID上點選拖曳時會觸動GRID的REFRESH()嗎?
REFRESH()太頻繁會有何後果????
謝謝您的教導
THANKS!!! |
|
回頂端 |
|
 |
Ruey
註冊時間: 2003-03-12 文章: 1698 來自: tunglo
第 6 樓
|
發表於: 星期六 三月 27, 2004 1:08 am 文章主題: |
|
|
1.那是因為File/Server的特性所在.
他只將要瀏覽的資料傳送至Client端.
2.不會.除非你在點選事件上寫入
THISFORM.gird1.Refresh() _________________ #############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!
學會VFP使用者社區的搜尋,Code才會更有趣~
############################# |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 7 樓
|
發表於: 星期一 三月 29, 2004 2:59 pm 文章主題: |
|
|
引言回覆: |
在GRID上點選拖曳時會觸動GRID的REFRESH()嗎?
|
可能會,可能不會,
要看VFP自己的條件,有沒有達到需要系統作refresh的程度.
所謂'耗費系統資源'不見得祇有網路而已,
還有包括client 端的畫面更新,
如果你設定成每5秒更新一次,
那麼os就得每5秒放下手邊工作,
該重新抓資料就抓資料,同時更新畫面一次,
不管到底有沒有資料該抓或是該不該更新畫面
基本上,
我會覺得任何任何windows程式設計師都應該先了解 windows 程式的運作方式,
否則很容易作出怪異的程式,
會被別人罵的要死. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 8 樓
|
發表於: 星期四 八月 25, 2005 5:59 pm 文章主題: |
|
|
browse 的話,
用的迴圈用迴圈的寫法即
第一次
browse timeout n seconds n 是秒數
do while .t.
browse 重點是timeout n seconds n是秒數
enddo
我之前用refresh windows 不理想
和timer 的道理是一樣的,只是用timer來取代迴圈
至於第一次就省下來了,為什麼要有第一次
那好像成為引用迴圈的習慣用法 |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 9 樓
|
發表於: 星期五 八月 26, 2005 3:48 pm 文章主題: |
|
|
browse nowait
我是用來顯示前一個browse 所輸入的結果
我是這麼用的啦
因為browse nowait 會使游標不會註留在browse 中
還有一個東西也有nowait
wait windows
之前還有拿來像是輸入物件的tip一樣地使用,像excel 中的註解
這是我的怪招,後來才知道有tip這種東西
都是小技巧,但可達到界面讓人清楚地知道要輸入什麼東西
以避免gigo吧 |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|