全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1804
推到 Plurk!
推到 Facebook!

StringGrid如何在輸入一個欄位就直接取到值??

尚未結案
Angi
一般會員


發表:16
回覆:56
積分:14
註冊:2005-01-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-24 17:35:52 IP:211.20.xxx.xxx 未訂閱
哪一個事件是在控制輸入完一個欄位的 就像OnChange一樣 不過這個元件沒有,不知怎麼弄也~~ 各位大大幫幫忙吧~~
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-24 17:47:11 IP:210.65.xxx.xxx 未訂閱
Hi Angi,    Try the OnSetEditText Event !! OnSetEditText event (TDrawGrid) Occurs when the user edits the value of a cell. Delphi syntax: property OnSetEditText: TSetEditEvent; C syntax: __property TSetEditEvent OnSetEditText = {read=FOnSetEditText, write=FOnSetEditText}; Description Write an OnSetEditText event handler to perform any special processing of the text edited by the user in an in-place editor. For example, use the OnSetEditText event to retrieve and store the value of a cell so that it can be displayed in an OnDrawCell event handler. OnSetEditText occurs every time the user changes the text. OnSetEditText does not occur unless the Options property includes goEditing. ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
Angi
一般會員


發表:16
回覆:56
積分:14
註冊:2005-01-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-24 17:54:01 IP:211.20.xxx.xxx 未訂閱
我有試過說 但是 結果好像是每key一個字...都會讀一次 例如:欄位為數量 正確數量為50 在key入5就會讀一次 再key入0又會讀一次 所以..除非真的沒辦法 不然應該不要用這個吧~~ 因為會多讀好幾次
Zard
尊榮會員


發表:24
回覆:396
積分:539
註冊:2003-11-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-24 20:28:55 IP:61.64.xxx.xxx 未訂閱
引言: 我有試過說 但是 結果好像是每key一個字...都會讀一次 例如:欄位為數量 正確數量為50 在key入5就會讀一次 再key入0又會讀一次 所以..除非真的沒辦法 不然應該不要用這個吧~~ 因為會多讀好幾次
試試用TStringGrid.EditorMode來判斷是否還在編輯, 加上後只有編輯完畢才會觸發, 例如:    procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
  ARow: Integer; const Value: String);
begin
  if Not StringGrid1.EditorMode then
    ShowMessage(Value);
end;
Angi
一般會員


發表:16
回覆:56
積分:14
註冊:2005-01-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-25 08:57:08 IP:211.20.xxx.xxx 未訂閱
我使用了 if Not StringGrid1.EditorMode then ShowMessage(Value); 不過...好像就完全失效了 沒有秀出Value
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-01-25 11:32:58 IP:61.31.xxx.xxx 未訂閱
StringGrid1SetEditText 事件是無法做到的。 主要原因是StringGrid 先 UpdateText 後訂正 EditorMode 狀態。 您只能在 OnSelectCell 及 OnExit 中做處理。 我嘗試成功攔到 FInplaceEdit.OnChange 事件。 不過作用並不大。 主要為觸發時機不對!
jamests
初階會員


發表:0
回覆:43
積分:28
註冊:2005-01-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-01-25 13:55:26 IP:211.75.xxx.xxx 未訂閱
您好:    要單純以TStringGrid達到您想要的目的. 設一些Flag是可以達到. 不過該元件不怎麼好用是真的...    建議使用XStringGrid. 它繼承自TStringGrid, 而OnSetEditText是在他自己的編輯器完成編輯後才回存, 所以只會被觸發一次. 因此可以當成KeyinFinish用. 若您不知道哪裡可以下載的話, 在這裡可以找到這個元件: http://ftpdem.ubi.pt/dsp/ftp/d30free/xstringgrid.zip (Freeware, With Source, support D3~D7, C3, C5) 希望有所幫助, 供參考.
Angi
一般會員


發表:16
回覆:56
積分:14
註冊:2005-01-12

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-01-25 14:28:44 IP:211.20.xxx.xxx 未訂閱
不好意思...請教一下...下載的元件該怎麼匯進去使用... 從來沒用過別的元件...
jamests
初階會員


發表:0
回覆:43
積分:28
註冊:2005-01-21

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-01-25 14:40:32 IP:211.75.xxx.xxx 未訂閱
Menu->File->Open Project 開啟對話框下面有個檔案類型, 選擇Delphi Package (*.dpk) 然後選到您的Delphi版本的檔案. 出現Package對話框. 點Compiler再點Install即可.
Angi
一般會員


發表:16
回覆:56
積分:14
註冊:2005-01-12

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-01-25 15:08:34 IP:211.20.xxx.xxx 未訂閱
為什麼我照著做... Install也都沒問題 結果,放上一個元件XStringGrid 在run程式時 出現了file not found 'XStringGrid.dcu' 還有什麼步驟沒做好嗎??
jamests
初階會員


發表:0
回覆:43
積分:28
註冊:2005-01-21

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-01-25 15:18:34 IP:211.75.xxx.xxx 未訂閱
到Menu->Tools->EnvironmentOptions. 選到Library. 在Library Path那行加入您產生的'XStringGrid.dcu'的所在路徑即可.
Angi
一般會員


發表:16
回覆:56
積分:14
註冊:2005-01-12

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-01-25 16:38:27 IP:211.20.xxx.xxx 未訂閱
謝謝啦... 這個元件是真的比原來的stringGrid好用多了 不過想請問一下 這個元件是完全免費的嗎?? 公司行號用也是免費嗎??
jamests
初階會員


發表:0
回覆:43
積分:28
註冊:2005-01-21

發送簡訊給我
#13 引用回覆 回覆 發表時間:2005-01-25 16:56:11 IP:211.75.xxx.xxx 未訂閱
可以吧. 既然是open source. 除非特別聲明. 不然應該都沒關係. 覺得好用的話就有空的話跟原作者謝謝囉.
Angi
一般會員


發表:16
回覆:56
積分:14
註冊:2005-01-12

發送簡訊給我
#14 引用回覆 回覆 發表時間:2005-01-26 10:16:29 IP:211.20.xxx.xxx 未訂閱
原作者是誰丫?? 莫非是您~ 不過不管是不是您...都謝謝囉~~
系統時間:2024-05-17 11:35:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!