PageControl 和 DBGrid |
答題得分者是:AndrewK
|
kill42el
一般會員 發表:30 回覆:50 積分:16 註冊:2008-06-04 發送簡訊給我 |
抱歉,又來問問題了><
這我的程式中有用到 PageControl 這物件,展開了3個 Page , 但因為我的資料庫有兩個,所以會用到兩個 DBGrid ,以下是程式碼 void __fastcall TForm3::PageControl1Change(TObject *Sender) { if(DBGrid1->Visible==true) DBGrid1->Visible=false; else if(DBGrid1->Visible==false) DBGrid1->Visible=true; } 但是這樣只會讓Page1會有出現DBGrid1的資料,Page2沒出現,而Page卻也出現DBGrid1的資料 但是我需要的是在Page1只會出現DBGrid1的資料,而在Page2跟Page3則會出現DBGrid2的資料。 請各位高手、前輩幫忙,謝謝 |
AndrewK
高階會員 發表:6 回覆:151 積分:161 註冊:2006-10-09 發送簡訊給我 |
[code delphi] case PageControl1.ActivePageIndex of 1:dbgrid2.Parent := PageControl1.ActivePage; 2:dbgrid2.Parent := PageControl1.ActivePage; end; [/code] 建議: 其實你也可以用三個 DBGrid 請教您的職業是什麼呢?? ===================引 用 kill42el 文 章=================== 抱歉,又來問問題了>< 這我的程式中有用到 PageControl 這物件,展開了3個 Page , 但因為我的資料庫有兩個,所以會用到兩個 DBGrid ,以下是程式碼 void __fastcall TForm3::PageControl1Change(TObject *Sender) { if(DBGrid1->Visible==true) DBGrid1->Visible=false; else if(DBGrid1->Visible==false) DBGrid1->Visible=true; } 但是這樣只會讓Page1會有出現DBGrid1的資料,Page2沒出現,而Page卻也出現DBGrid1的資料 但是我需要的是在Page1只會出現DBGrid1的資料,而在Page2跟Page3則會出現DBGrid2的資料。 請各位高手、前輩幫忙,謝謝
------
Just Do It ------------------------- 其實男生不是真的喜歡你不減肥,而是喜歡你愛吃還不肥;也不是真的喜歡你不化妝,而是喜歡你素顏也好看;也不是真的喜歡你瘦,而是喜歡你瘦卻有胸;也不是真喜歡你獨立,而是他忙的時候別煩他。女孩子,太認真你就輸了。 |
kill42el
一般會員 發表:30 回覆:50 積分:16 註冊:2008-06-04 發送簡訊給我 |
你好!!
其實你說的用三個 DBGrid 這點我也有試過了,但是PageControl 一拉好大小範圍,就固定住了(還是說有辦法可以再拉??) 除了每一個Page都放上DBGrid,會變成PageControl要拉很大的範圍。 還有,就是執行後3個DBGrid都會出現了~~~~>< 職業: 還在為學分苦惱的學生。 怎麼會問到職業?? 那你呢?? ===================引 用 AndrewK 文 章=================== [code delphi] case PageControl1.ActivePageIndex of 1:dbgrid2.Parent := PageControl1.ActivePage; 2:dbgrid2.Parent := PageControl1.ActivePage; end; [/code] 建議: 其實你也可以用三個 DBGrid 請教您的職業是什麼呢?? ===================引 用 kill42el 文 章=================== 抱歉,又來問問題了>< 這我的程式中有用到 PageControl 這物件,展開了3個 Page , 但因為我的資料庫有兩個,所以會用到兩個 DBGrid ,以下是程式碼 void __fastcall TForm3::PageControl1Change(TObject *Sender) { if(DBGrid1->Visible==true) DBGrid1->Visible=false; else if(DBGrid1->Visible==false) DBGrid1->Visible=true; } 但是這樣只會讓Page1會有出現DBGrid1的資料,Page2沒出現,而Page卻也出現DBGrid1的資料 但是我需要的是在Page1只會出現DBGrid1的資料,而在Page2跟Page3則會出現DBGrid2的資料。 請各位高手、前輩幫忙,謝謝 |
AndrewK
高階會員 發表:6 回覆:151 積分:161 註冊:2006-10-09 發送簡訊給我 |
我不太懂你的意思
如果將畫面貼上來 或 上傳程式參考 也許對解決你的問題會有幫助? ===================引 用 kill42el 文 章=================== 你好!! 其實你說的用三個 DBGrid 這點我也有試過了,但是PageControl 一拉好大小範圍,就固定住了(還是說有辦法可以再拉??) 除了每一個Page都放上DBGrid,會變成PageControl要拉很大的範圍。 還有,就是執行後3個DBGrid都會出現了~~~~><
------
Just Do It ------------------------- 其實男生不是真的喜歡你不減肥,而是喜歡你愛吃還不肥;也不是真的喜歡你不化妝,而是喜歡你素顏也好看;也不是真的喜歡你瘦,而是喜歡你瘦卻有胸;也不是真喜歡你獨立,而是他忙的時候別煩他。女孩子,太認真你就輸了。 |
kill42el
一般會員 發表:30 回覆:50 積分:16 註冊:2008-06-04 發送簡訊給我 |
你好! 我已將我的程式上傳,請過目一下。
我想要的是:查詢頁的DBGrid 出現 交易地點 (OK) 新增頁的DBGrid 出現 個人資料 (跟修改頁一樣) 修改頁的DBGrid 出現 個人資料 (OK) 希望高手能幫我看一下。 ===================引 用 AndrewK 文 章=================== 我不太懂你的意思 如果將畫面貼上來 或 上傳程式參考 也許對解決你的問題會有幫助? ===================引 用 kill42el 文 章=================== 你好!! 其實你說的用三個 DBGrid 這點我也有試過了,但是PageControl 一拉好大小範圍,就固定住了(還是說有辦法可以再拉??) 除了每一個Page都放上DBGrid,會變成PageControl要拉很大的範圍。 還有,就是執行後3個DBGrid都會出現了~~~~>< |
AndrewK
高階會員 發表:6 回覆:151 積分:161 註冊:2006-10-09 發送簡訊給我 |
建議你可以多 k 一下資料庫的書
我想接下來你要做的事,會有更多剌激好玩的 ADO 元件用法 我試的結果是將下面兩個事件中,加入以下 Code 就 ok 了 你的 Grid 是可以在拉大,PageControl 也一樣可以在拉大 甚至你可以利用元件本身的 layout 相關的屬性去設定 我的使用的軟體板本為 Delphi 2006 C [code cpp] void __fastcall TForm3::FormCreate(TObject *Sender) { ADOQuery1->Close(); ADOQuery1->Open(); ADOQuery2->Close(); ADOQuery2->Open(); } void __fastcall TForm3::PageControl1Change(TObject *Sender) { switch (PageControl1->ActivePageIndex) { case 1:DBGrid2->Parent = PageControl1->ActivePage; case 2:DBGrid2->Parent = PageControl1->ActivePage; } } [/code]
------
Just Do It ------------------------- 其實男生不是真的喜歡你不減肥,而是喜歡你愛吃還不肥;也不是真的喜歡你不化妝,而是喜歡你素顏也好看;也不是真的喜歡你瘦,而是喜歡你瘦卻有胸;也不是真喜歡你獨立,而是他忙的時候別煩他。女孩子,太認真你就輸了。 |
kill42el
一般會員 發表:30 回覆:50 積分:16 註冊:2008-06-04 發送簡訊給我 |
謝謝,AndrewK願意花時間幫我解答
但,很抱歉在問個問題 void __fastcall TForm3::FormCreate(TObject *Sender) FormCreate 這是什麼意思呢?? 因為,我不了解 所以就直接貼上去試試看 就出現 void __fastcall TForm3::FormCreate(TObject *Sender) { ADOQuery1->Close(); ADOQuery1->Open(); ADOQuery2->Close(); TForm3::FormCreate(T0bject *)' is not a member of 'TForm3' 為什麼會說不是 TForm3 的成員 ?? void __fastcall TForm3::PageControl1Change(TObject *Sender) { switch (PageControl1->ActivePageIndex) Body has already been defined for function'_fastcall TForm3::PageControl1Change(T0bject *)' 麻煩AndrewK大大在教導我一下,感激不盡 ===================引 用 AndrewK 文 章=================== 建議你可以多 k 一下資料庫的書 我想接下來你要做的事,會有更多剌激好玩的 ADO 元件用法 我試的結果是將下面兩個事件中,加入以下 Code 就 ok 了 你的 Grid 是可以在拉大,PageControl 也一樣可以在拉大 甚至你可以利用元件本身的 layout 相關的屬性去設定 我的使用的軟體板本為 Delphi 2006 C [code cpp] void __fastcall TForm3::FormCreate(TObject *Sender) { ADOQuery1->Close(); ADOQuery1->Open(); ADOQuery2->Close(); ADOQuery2->Open(); } void __fastcall TForm3::PageControl1Change(TObject *Sender) { switch (PageControl1->ActivePageIndex) { case 1:DBGrid2->Parent = PageControl1->ActivePage; case 2:DBGrid2->Parent = PageControl1->ActivePage; } } [/code] |
AndrewK
高階會員 發表:6 回覆:151 積分:161 註冊:2006-10-09 發送簡訊給我 |
程式碼不能直接貼上去
以你目前的碼式碼來看 會有兩個問題點 1. Form3 的 Oncrate 沒有宣告 2. PageControl1 的 OnChange 重覆實作 正確方式應為 1.產生 Form3 的 OnCreate 事件 2.修改 PageControl1 的 OnChange 事件 並將對應的 Code 寫上
------
Just Do It ------------------------- 其實男生不是真的喜歡你不減肥,而是喜歡你愛吃還不肥;也不是真的喜歡你不化妝,而是喜歡你素顏也好看;也不是真的喜歡你瘦,而是喜歡你瘦卻有胸;也不是真喜歡你獨立,而是他忙的時候別煩他。女孩子,太認真你就輸了。 |
kill42el
一般會員 發表:30 回覆:50 積分:16 註冊:2008-06-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |