線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3030
推到 Plurk!
推到 Facebook!

TDbGrid

 
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-03-21 10:10:52 IP:211.74.xxx.xxx 未訂閱
在DbGrid中若移動上下筆應觸發何事件,因其無Onclick事件,而其Oncellclick 又針對Cell
領航天使
站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-03-21 11:36:57 IP:61.219.xxx.xxx 未訂閱
引言: 在DbGrid中若移動上下筆應觸發何事件,因其無Onclick事件,而其Oncellclick 又針對Cell
應是寫在TTable/TQuery的OnScroll事件中吧 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-03-21 11:59:08 IP:211.74.xxx.xxx 未訂閱
引言:
引言: 在DbGrid中若移動上下筆應觸發何事件,因其無Onclick事件,而其Oncellclick 又針對Cell
應是寫在TTable/TQuery的OnScroll事件中吧 ~~~Delphi K.Top討論區站長~~~
因為TTable/TQuery放在DM為了程式上結構要求,不想將程式寫在DM上 所以有其他方是可達相同效果??
領航天使
站長


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-03-21 12:14:56 IP:61.219.xxx.xxx 未訂閱
引言: 因為TTable/TQuery放在DM為了程式上結構要求,不想將程式寫在DM上 所以有其他方是可達相同效果??
如果用 //程式動態指定事件 dbgrid1.DataSource.DataSet.AfterScroll:=FunAfterScroll; //FunAfterScroll為自給定易的procedure procedure TForm1.FunAfterScroll(DataSet: TDataSet); begin // ... end; 這樣咧?不用寫在DM中 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-03-21 18:11:20 IP:211.74.xxx.xxx 未訂閱
引言:
引言: 因為TTable/TQuery放在DM為了程式上結構要求,不想將程式寫在DM上 所以有其他方是可達相同效果??
如果用 //程式動態指定事件 dbgrid1.DataSource.DataSet.AfterScroll:=FunAfterScroll; //FunAfterScroll為自給定易的procedure procedure TForm1.FunAfterScroll(DataSet: TDataSet); begin // ... end; 這樣咧?不用寫在DM中 ~~~Delphi K.Top討論區站長~~~
那此事件應在dbgrid1觸發(上下筆) dbgrid1.DataSource.DataSet.AfterScroll:=FunAfterScroll;
peipei36
一般會員


發表:8
回覆:51
積分:16
註冊:2002-03-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-03-21 23:53:31 IP:61.59.xxx.xxx 未訂閱
請教一下站大& shing.net...這樣的動作or這幾行程式碼... 應該放哪?!或者什麼樣的條件才能使用... 我測不出來耶~ 我光是隨便建一個設計階段成功連結的Table1(目前Unit內) 執行時期丟給同一Unit的DBGrid1就已經造成記憶體存取錯誤..不知為什麼?! DBGrid1.DataSource.DataSet := Table1;
領航天使
站長


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-03-22 06:25:23 IP:61.219.xxx.xxx 未訂閱
引言: 執行時期丟給同一Unit的DBGrid1就已經造成記憶體存取錯誤..不知為什麼?! DBGrid1.DataSource.DataSet := Table1;
這是因為DBGrid1的Datasource物件尚未建立, 您需先在設計階段就先拉好Datasource1在將dbgrid1.datasource指向datasource1 之後才可使用 DBGrid1.DataSource.DataSet := Table1; 我寫了一個範例程式,見下: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=3861 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-03-22 11:59:28 IP:211.74.xxx.xxx 未訂閱
引言:
引言: 執行時期丟給同一Unit的DBGrid1就已經造成記憶體存取錯誤..不知為什麼?! DBGrid1.DataSource.DataSet := Table1;
這是因為DBGrid1的Datasource物件尚未建立, 您需先在設計階段就先拉好Datasource1在將dbgrid1.datasource指向datasource1 之後才可使用 DBGrid1.DataSource.DataSet := Table1; 我寫了一個範例程式,見下: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=3861 ~~~Delphi K.Top討論區站長~~~
我試了站長寫的範例,因為範例中是按了Button才觸發事件,我為了要在FromCreate就有其事件,因此就將 datamodule2.table1.open; datasource1.dataset:=datamodule2.Table1; dbgrid1.DataSource.DataSet.AfterScroll:=FunAfterScroll; 寫在FormShow中,則Table1可達到,但我按了Button2後 Table2卻失效,Why?
領航天使
站長


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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-03-22 13:37:55 IP:192.168.xxx.xxx 未訂閱
引言: 我試了站長寫的範例,因為範例中是按了Button才觸發事件,我為了要在FromCreate就有其事件,因此就將 datamodule2.table1.open; datasource1.dataset:=datamodule2.Table1; dbgrid1.DataSource.DataSet.AfterScroll:=FunAfterScroll; 寫在FormShow中,則Table1可達到,但我按了Button2後 Table2卻失效,Why?
I know why? 您可能誤會了 dbgrid1.DataSource.DataSet.AfterScroll:=FunAfterScroll; 這行指令的用義,其實這行指令與下面這兩行是一樣的: datasource1.dataset:=datamodule2.Table1; datamodule2.Table1.AfterScroll:=FunAfterScroll; 所以,datasource1.dataset指的就是Table1 若您按了Button2 要加上: datasource1.dataset:=datamodule2.Table2; datamodule2.Table2.AfterScroll:=FunAfterScroll; 不知您明白嗎? ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
系統時間:2024-03-29 21:04:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!