 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
ylong
註冊時間: 2003-07-30 文章: 118
第 1 樓
|
發表於: 星期五 八月 26, 2005 5:02 pm 文章主題: 在grid中使用editbox新增一列的問題 |
|
|
我在grid中有使用了editbox,按Enter後並不會新增一行的動作出來,並停留在第一行,請問各位先進,有什麼方法可以使他新增一行的動作,謝謝 |
|
回頂端 |
|
 |
小賴
註冊時間: 2004-12-27 文章: 476
第 2 樓
|
發表於: 星期五 八月 26, 2005 5:15 pm 文章主題: |
|
|
原本Grid 按Enter就沒有新增一行的功能 ..
與EditBox OR TextBox ....無關 .....
看不懂你問什麼咧 ? |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 3 樓
|
發表於: 星期五 八月 26, 2005 6:50 pm 文章主題: |
|
|
我覺得啦
他可能在指
append blank,然後在grid 中作編輯
但之前人的寫法是有個單一畫面的form
多筆查詢編輯先決條件是找到那一筆資料
再跳到單一畫面form 編輯資料
然而append blank 一個資料到table
以grid 或 browse 來編輯
可能要事先將old 值保留,其實也不用啦
那種方法大概很少人用吧,我是指一般市面的軟體
如果是這樣的話我會說
append blank + keyboard 巨集
現在很多人都用insert into table 作了,可能是為了讓軟體走向
中大型資料庫,而有些書也說,寧願用insert into 來替代append blank |
|
回頂端 |
|
 |
catjoke
註冊時間: 2003-06-16 文章: 175 來自: 香港
第 4 樓
|
發表於: 星期六 八月 27, 2005 10:03 am 文章主題: |
|
|
Editbox 是容許 輸入 {Enter} 作為 數據的一部份!
如果要按 {Enter} 就可以 新增, 仍 用家/設計者 期望, 是可以做到的!
不過要花的功夫就多了..........................
1) 在設計中把 Form.KeyPreview 值改為 .T.
2) Form.KeyPress 中寫入 檢查:
LPARAMETERS nKeyPress, nCtrlAltShift
DO CASE
CASE nKeyPress = 13
IF ThisForm.ActiveControl.Name = "Grd衰仔"
NO DEFAULT
* 找到 Grd衰仔的 Table!!
CurTable = ThisForm.Grd衰仔.Recordsource
SELECT (CurTable)
IF RECNO()=RECCOUNT()
APPEND BLANK
* REPLACE ... 先行把 默認的某些欄位資料填上...
ThisForm.Grd衰仔.Column3.Setfocus && 並假設用家要輸的新資料以第3欄為開始....
ELSE
SKIP 1 && 非最後一行不作 新增資料!!!!!
ENDIF
ThisForm.Refresh
ENDIF
ENDCASE
當然, 上面只是一個很 粗糙的寫法, 仔細要 檢查很多,
否則把別的 Table 新增了一個 "吉行" 就麻煩了!
雖然做到, 可是每按一次鈕, 它都會 執行 Form.KeyPress 一次去檢查...
令系統比較慢!
可是 對比 ON KEY LABEL 則好一點, 只是在 Form 內才是這樣... _________________ 喵喎~ 貓當然是 "茅" 的嘛! ^0^; |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|