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

幫 Grid 加上列號及多選框
前往頁面 1, 2  下一頁
 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
ckp6250



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


第 1 樓

發表發表於: 星期日 九月 15, 2013 10:23 am    文章主題: 幫 Grid 加上列號及多選框 引言回覆

因為樓下這一篇『幫 Grid 加上列號』http://vfp.sunyear.com.tw/viewtopic.php?t=6171
原作者寫得太爛了,效率不彰,缺點又多,實在讓人看不下去,應予揚棄才是正理。

經 DennisTsai 大師開示後,本篇另起爐灶,重新改寫,不但效率高,而且又增功能
除了自動增加列號外,另能自動增加多選框(如附圖),
當游標移到這二項之標題(Header)時,還有立即跳至某列或立即篩選過濾

使用方式很簡單,只有二個動作

procedure grid.init
.......
您自己的程式碼
......
AddRowNo4Grid(this,1,.T.) &&加上這一行
endproc

另外

procedure grid.refresh
.......
您自己的程式碼
......
ReBuildRowNo(this) &&加上這一行
endproc


ckp6250 在 星期三 九月 18, 2013 5:13 pm 作了第 6 次修改
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
arthur



註冊時間: 2003-11-05
文章: 18


第 2 樓

發表發表於: 星期日 九月 15, 2013 11:35 am    文章主題: 引言回覆

收下了
謝謝
回頂端
檢視會員個人資料 發送私人訊息
jerryclt



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 3 樓

發表發表於: 星期一 九月 16, 2013 7:02 am    文章主題: 引言回覆

不得不問一下,
如果瀏覽的當時,
其他使用者新增或刪除記錄,
這個 列次 會怎麼表現?
回頂端
檢視會員個人資料 發送私人訊息
ckp6250



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


第 4 樓

發表發表於: 星期一 九月 16, 2013 9:02 am    文章主題: 引言回覆

跟著變動,永遠保持正確順序
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
jerryclt



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 5 樓

發表發表於: 星期一 九月 16, 2013 9:42 am    文章主題: 引言回覆

grid.refresh 嗎?
回頂端
檢視會員個人資料 發送私人訊息
ckp6250



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


第 6 樓

發表發表於: 星期一 九月 16, 2013 10:19 am    文章主題: 引言回覆

Yes
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
jerryclt



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 7 樓

發表發表於: 星期一 九月 16, 2013 11:55 am    文章主題: 引言回覆

不是小弟找麻煩,
只是有遇到這樣的情形...

如果改變排序的方式 asce -> desc
我的列次變成 999 to 1 顯示.
回頂端
檢視會員個人資料 發送私人訊息
ckp6250



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


第 8 樓

發表發表於: 星期一 九月 16, 2013 3:09 pm    文章主題: 引言回覆

歡迎找麻煩!
請看圖1,代碼由小而大,列序是1,2,3,4,5...
當我在【代碼】的標題點一下時,會重新排序,請看圖2,代碼由大而小,列序還是1,2,3,4,5...
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
jerryclt



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 9 樓

發表發表於: 星期一 九月 16, 2013 4:53 pm    文章主題: 引言回覆

只弟只增加了這些程式碼:
SELECT &fT_001
pub_num5=RECCOUNT()
pub_str5=SYS(2015)
CREATE CURSOR &pub_str5 (aux N(6,0))
INDEX ON aux TAG aux
FOR _brii=1 TO pub_num5
INSERT INTO &pub_str5 (aux) VALUES (_brii)
ENDFOR
SELECT &fT_001
SET RELATION TO RECNO() INTO &pub_str5 ADDITIVE

看來還得多加研究一些了!
回頂端
檢視會員個人資料 發送私人訊息
ckp6250



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


第 10 樓

發表發表於: 星期一 九月 16, 2013 5:06 pm    文章主題: 引言回覆

自行改裝,原廠不負保固責任!
而且,很明顯地,您不但改裝,還亂拆零件,
連方向盤和引擎都拆掉啦!

值得安慰的是,雨刷和照後鏡都還健在 Laughing
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
jerryclt



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 11 樓

發表發表於: 星期一 九月 16, 2013 5:15 pm    文章主題: 引言回覆

別說得那麼難聽啦,
畢竟每個人都有各自的設計風格,
總不希望全部照抄...

您的那些功能在小弟這兒有另外一種方式存在,
小弟只想將列次的概念套進小弟原有的應用內而已,
並不想全部引用您的大作...(怕您有登記著作權
回頂端
檢視會員個人資料 發送私人訊息
ckp6250



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


第 12 樓

發表發表於: 星期一 九月 16, 2013 5:27 pm    文章主題: 引言回覆

一,小弟口無遮攔,鄭重道歉,下次和下下次不敢了。
二,沒有登記著作權,若有的話,也應屬於 DennisTsai ,概念是他老人家提出來的,我只是代工而已。
三,(小聲但很誠懇地說)您真的漏掉了方向盤和引擎。
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
jerryclt



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 13 樓

發表發表於: 星期三 九月 18, 2013 7:08 am    文章主題: 引言回覆

就功能上而言,
老蔡那段就是引擎了;
再把老蔡的備用欄位(recno n(6))搬回來用,
排序問題應該就不算問題!

小平同志曾說過: 不管是有方向盤還是沒方向盤,會跑的車就是好車... XD

另外,
小弟以為有改進的空間,
像是版面問題...
小弟有些客戶很機車(這麼稱呼育我者父母,養我者客戶是有些過意不去),
在有限的螢幕寬度上,
斤斤計較於顯示欄位的長度,
多一個字就會影響到整體的可視性,
忽然間多了好幾個字的欄位,
評估是過不了關 = ="

因此能否隱藏該欄位, 改以 show ToolTipText 的方式來顯示列次;
或是利用參數決定是否顯示該欄位?
回頂端
檢視會員個人資料 發送私人訊息
ckp6250



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


第 14 樓

發表發表於: 星期三 九月 18, 2013 7:42 am    文章主題: 引言回覆

jerryclt 寫到:

小平同志曾說過: 不管是有方向盤還是沒方向盤,會跑的車就是好車... XD


沒有方向盤的應該是跑在固定軌道上的火車吧。

jerryclt 寫到:

或是利用參數決定是否顯示該欄位?


顯然,您不愛看原廠手冊,
本來就有設定參數了。
0.不顯示
1.在最左側
2.在最右側
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
jerryclt



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 15 樓

發表發表於: 星期三 九月 18, 2013 9:22 am    文章主題: 引言回覆

被抓包了 @@

果然在前兩行就說明了...
*!* ShowRowType4Grid = 0 不顥示 1 在第一欄 2 在最後一欄
*!* ShowRecSelect = .T. 顯示勾選框 .F. 不顯示勾選框

另外再請教一個問題,
在用了老蔡引擎後,
1.小缺點:列號那一欄,若 mouse 點進去時,列號會變成空白,不知道有沒有辦法抑止使用者點進去?(感謝sean27 指點,此項已解決)
2.中缺點:用pageup , pagedown , 捲軸 來移動列數,都能即時呈現列號,但如果是用 mouse 的滾輪來捲動的話,新頁的列號會暫時空白,必需等 grid被 setfocus 時,才會秀出列號,雖然不是很嚴重,但總是不很專業(感謝garfield指點,這也解決了)
3.大缺點,如果 Reccount()在超過一萬筆以上時,越捲到後面(比如捲到8,9千筆時),螢幕顯示速度會拖慢
4.小缺點:如果暫時離開Grid,比如去點Form上的某個物件時,所在列的該列列號會暫時空白,必需等返回grid時,才會再秀出列號 (突然多出一個?)
前三點好像都沒問題了不是嗎?

多出來的第四點,
小弟這邊倒是沒發現...
是改裝後的關係嗎 @@?
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
前往頁面 1, 2  下一頁
1頁(共2頁)

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


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