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

有關Grid之Column計算問題

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



註冊時間: 2008-02-18
文章: 50


第 1 樓

發表發表於: 星期日 七月 10, 2011 11:14 am    文章主題: 有關Grid之Column計算問題 引言回覆

各位同好大家好:

我有一個問題, 我在GRID中的column3的GETFOCUS中設了計算公式為column1*column2, 目前是輸入 COLUMN1,COLUMn2後column3會自動計算, 如果回頭更改column1時, 則必須再將cursor移至column3才會計算, 請問有沒有什麼方式可以使column3自動計算, 謝謝
回頂端
檢視會員個人資料 發送私人訊息
h580920



註冊時間: 2005-02-28
文章: 35


第 2 樓

發表發表於: 星期日 七月 10, 2011 7:07 pm    文章主題: 引言回覆

方法一. 將計算公式寫在 COLUMN1 和 COLUMN2 的 LOSTFOCUS 或 INTERACTIVECHANGE
方法二. 將 COLUMN1 和 COLUMN2 所對應的欄位計算公式寫在 COLUMN3.CONTROLSOURCE 中 (EX: TABLE1.QTY1*TABLE1.QTY2 )
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4212
來自: Taipei,Taiwan

第 3 樓

發表發表於: 星期一 七月 11, 2011 8:32 am    文章主題: 引言回覆

正常的做法應該是在 COLUMN1及COLUMN2的TEXT1.VALID 事件中,撰寫程式,
而非在COLUMN3中撰寫.

舉例:

COLUMN1 是數量(QTY),COLUMN2是單價(PRS),COLUMN3是金額(AMT),
在COLUMN1及COLUMN2的TEXT1.VALID 事件就會寫 RELACE AMT WITH QTY*PRS,
這樣只要COLUMN1及COLUMN2發生變動,
AMT的值就會變.

但是COLUMN3的TEXT1.VALID 事件通常不會寫AMT = QTY*PRS,
這樣你想打別的數字都不行,變成強迫一定是QTY*PRS,
而實務上可能會做四捨五入,直接取整數,或給個折扣什麼的,
就不應該強迫一定是QTY*PRS


是不是使用VALID事件來做,就看個人的習慣,
但就FOXPRO或是XBASE的設計,通常是放在VALID來做.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
ckp6250



註冊時間: 2004-07-30
文章: 1644


第 4 樓

發表發表於: 星期一 七月 11, 2011 11:35 am    文章主題: 引言回覆

請教一下 syntech
為什麼不是放在 Lostfocus 呢 ?
valid 不是用來『檢驗正確性』嗎 ?
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
syntech



註冊時間: 2003-05-16
文章: 4212
來自: Taipei,Taiwan

第 5 樓

發表發表於: 星期一 七月 11, 2011 2:19 pm    文章主題: 引言回覆

這應該是從遠古時代遺留下來的

CLIPPER
代碼:

 @ <expN1>, <expN2> [SAY <exp> [PICTURE <expC1>]] [GET
            <variable> [PICTURE <expC2>] [RANGE <expN3>, <expN4>]/
            [VALID <expL>]]


FOXPRO FOR WIN
代碼:

@ <row, column> GET <memvar> | <field>
   [FUNCTION <expC1>]
   [PICTURE <expC2>]
   [FONT <expC3>[, <expN1>]]
   [STYLE <expC4>]
   [DEFAULT <expr1>]
   [ENABLE | DISABLE]
   [MESSAGE <expC5>]
   [[OPEN] WINDOW <window name>]
   [RANGE [<expr2>] [, <expr3>]]
   [SIZE <expN2>, <expN3>]
   [VALID <expL1> | <expN4> [ERROR <expC6>]]
   [WHEN <expL2>]
   [COLOR SCHEME <expN5> | COLOR <color pair list>]


利用 VALID 驗證順便作連續運算等動作


當然,在不違反事件發生順序的情況下,
可以選擇其他事件來做

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙


syntech 在 星期二 七月 12, 2011 8:38 am 作了第 1 次修改
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
ckp6250



註冊時間: 2004-07-30
文章: 1644


第 6 樓

發表發表於: 星期一 七月 11, 2011 6:10 pm    文章主題: 引言回覆

廿幾年前的原理還記得
真不簡單!

我的CLIPPER忘光光了
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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