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

DBGRID 的 Value 傳遞?

答題得分者是:channel
JamesLiang
初階會員


發表:54
回覆:78
積分:31
註冊:2003-02-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-11 14:38:59 IP:63.201.xxx.xxx 未訂閱
請教先進..1. 如何將 form1 DBGrid 中的一個欄位於新增時將輸入的字元傳送 到 form2的字串內,我使用 dbfrid.field[1].value 發現內為 null;此欄位的buttonstyle 已被設定為cbsEllipsis 2. 坊間是否有專書介紹各原件的屬性及物件的中文書?是否可推薦一番. 祝好 James
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-11 14:57:42 IP:211.21.xxx.xxx 未訂閱
引言: 1. 如何將 form1 DBGrid 中的一個欄位於新增時將輸入的字元傳送 到 form2的字串內,我使用 dbfrid.field[1].value 發現內為 null;此欄位的buttonstyle 已被設定為cbsEllipsis
Form2.Str := DBGrid.DataSource.DataSet.FieldByName(FieldName).AsString;
引言: 坊間是否有專書介紹各原件的屬性及物件的中文書?是否可推薦一番.
Delphi 6 Object Pascal完美經典 參考http://delphi.ktop.com.tw/topic.php?topic_id=20578 這一本書講的都很基礎,也有介紹常用物件的屬性、事件、方法,我有買,有空到書局看看。 有很多網友推薦的書籍,找找看沒有沒您要的: http://delphi.ktop.com.tw/forum.asp?FORUM_ID=81 ~小弟淺見,參考看看~ 發表人 - channel 於 2003/03/11 15:29:33 發表人 - channel 於 2003/03/11 15:35:42
------
~小弟淺見,參考看看~
JamesLiang
初階會員


發表:54
回覆:78
積分:31
註冊:2003-02-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-12 06:39:52 IP:206.204.xxx.xxx 未訂閱
多謝你的幫忙,但問題沒解決,因為新增狀況時該欄位並未有值存在因此仍為空字串,或許我解釋不構清楚,我希望USER輸入empID的前兩碼後按此欄位右邊的...按鈕後,系統會將此兩碼傳到form2,由form2處理 多謝 James
JamesLiang
初階會員


發表:54
回覆:78
積分:31
註冊:2003-02-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-12 06:49:52 IP:206.204.xxx.xxx 未訂閱
另外再請教一下..如何讓dbgrid欄位上出現...的按鈕?我已將此欄位的buttonstyle設為cbsEllipsis,當user進入此欄位時需click一下cell才出現 ...的按鈕,不知道為何如此.. 多謝幫忙
JamesLiang
初階會員


發表:54
回覆:78
積分:31
註冊:2003-02-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-03-12 06:50:06 IP:206.204.xxx.xxx 未訂閱
另外再請教一下..如何讓dbgrid欄位上出現...的按鈕?我已將此欄位的buttonstyle設為cbsEllipsis,當user進入此欄位時需click一下cell才出現 ...的按鈕,不知道為何如此.. 多謝幫忙
JamesLiang
初階會員


發表:54
回覆:78
積分:31
註冊:2003-02-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-03-12 06:52:20 IP:206.204.xxx.xxx 未訂閱
另外再請教一下..如何讓dbgrid欄位上出現...的按鈕?我已將此欄位的buttonstyle設為cbsEllipsis,當user進入此欄位時需click一下cell才出現 ...的按鈕,不知道為何如此.. 多謝幫忙
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-03-12 11:33:46 IP:211.72.xxx.xxx 未訂閱
引言: 另外再請教一下..如何讓dbgrid欄位上出現...的按鈕?我已將此欄位的buttonstyle設為cbsEllipsis,當user進入此欄位時需click一下cell才出現 ...的按鈕,不知道為何如此.. 多謝幫忙
您將DBGrid屬性中的Options中的dgAlwaysShowEditor設為True,就可以解決當user進入此欄位時需click一下cell才出現...的按鈕。 ~小弟淺見,參考看看~
------
~小弟淺見,參考看看~
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-03-12 11:43:54 IP:211.72.xxx.xxx 未訂閱
引言: 多謝你的幫忙,但問題沒解決,因為新增狀況時該欄位並未有值存在因此仍為空字串,或許我解釋不構清楚,我希望USER輸入empID的前兩碼後按此欄位右邊的...按鈕後,系統會將此兩碼傳到form2,由form2處理
小弟才疏學淺,這個問題有點棘手,因為DBGrid好像只能讀到TFied的資料,所以在新增狀況時該欄位並未有值,要離開該Columns才會將值寫入該欄位,所以我建議您換個方式,在DBGrid OnColExit事件將值傳給Form2。 ~小弟淺見,參考看看~
------
~小弟淺見,參考看看~
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-03-12 14:38:25 IP:218.16.xxx.xxx 未訂閱
我有個旁門方法,就是先轉一轉 selectedField 等 DBGrid 將該格內容存入 field,再轉回原先的 field : procedure TForm1.DBGrid1EditButtonClick(Sender: TObject); begin DBGrid1.SelectedField := DBGrid1.Fields[1]; DBGrid1.SelectedField := DBGrid1.Fields[0]; messagebox(self.Handle,PChar(DBGrid1.Fields[0].text),'test',0); end; 剛試過可行。
JamesLiang
初階會員


發表:54
回覆:78
積分:31
註冊:2003-02-13

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-03-12 14:49:28 IP:63.201.xxx.xxx 未訂閱
多謝大家幫忙,我由本站舊資料中查到解決方式,(對不起我忘了他的名字)分享給大家.. type ttmptgrid=class(TDBGrid); onDBGridEditButton event add Str:=TTmpGrid(DBGrid1).InplaceEditor.text; 感謝先進的幫忙
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-06-09 20:39:10 IP:192.168.xxx.xxx 未訂閱
引言: 多謝大家幫忙,我由本站舊資料中查到解決方式,(對不起我忘了他的名字)分享給
他就是鼎鼎大名的ccchen! 請見:http://delphi.ktop.com.tw/topic.php?topic_id=18888 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
Rain
資深會員


發表:31
回覆:236
積分:268
註冊:2003-02-17

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-06-09 21:34:47 IP:218.85.xxx.xxx 未訂閱
another way: (DBGrid1.Controls[0] as TInPlaceEdit).Text
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-06-09 21:57:00 IP:218.16.xxx.xxx 未訂閱
引言: another way: (DBGrid1.Controls[0] as TInPlaceEdit).Text
哈哈,這個我剛巧昨天也無意間發現了,因為在 : Runtime 設計 Form 元件的最新發展及Demo (不含元件) http://delphi.ktop.com.tw/topic.php?TOPIC_ID=32021 在範例裡你可發現你 edit StringGrid 時也若選包括子元件連 TInplaceEditor 都會被抓到了來 修改屬性。 我是用 TWinControl.Controls 來抓子元件的所以發理可用 Control[0] 來存取 InPlaceEditor。
系統時間:2024-07-04 8:17:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!