對於使用TDBCtrlGrid的疑惑之問題? |
缺席
|
l90425
初階會員 發表:95 回覆:152 積分:49 註冊:2008-04-03 發送簡訊給我 |
前提DBCtrlGrid1下面有兩個DBEdit分別為DBEdit1.DBEdit2
為什麼當我修改DBEdit1和DBEdit2完後,按下DBNavigator1中nbPost鈕後,為什麼DBEdit1與DBEdit2還能更變呀?(這樣會造成ADOTable1錯誤) 有誰能告訴我嗎?是物件的問題嗎?還是我的問題呢?或是有誰碰過這個問題請問要怎麼解決! 拜託各位大大的幫忙! 謝謝!謝謝! [code cpp] void __fastcall TForm1::DBNavigator1Click(TObject *Sender, TNavigateBtn Button) { if(Button==nbInsert||Button==nbEdit) { DBEdit1->ReadOnly=false; DBEdit2->ReadOnly=false; } else { DBEdit1->ReadOnly=true; DBEdit2->ReadOnly=true; } } [/code]
------
-謝謝大大熱心的回覆!謝謝! |
herbert2
尊榮會員 發表:58 回覆:640 積分:894 註冊:2004-04-16 發送簡訊給我 |
用 DBCtrlGrid1 做 Edit 動作是很難控制的事,
因他會欄截掉 FormKeyDown() 等 Event. 而且 DBEdit1 和 DBEdit2 同時有多組在該元件上, 您如何確認 User 改的是那一筆 Record ? 小弟是有使用它做 TQuery 之 Edit, 但不使用 TDBNavigator, 完全自行控制何時該 Insert(), 何時該 Edit() 何時該 Post(), 何時該 Cancel(), 程式控制流程是很複雜的, 故只用於一個 User 只准 Edit 三欄的小程式. 要使用 TDBNavigator, 建議用 TDBGrid 顯示資料(但 Edit 時要 Disable 以免被 User 誤點而換 Record 產生 Post() 動作) 用一般 TDBEdit, TDBComboBox 給 User Edit, 較安全穩定. 您若一定要如此使用, 則建議試著改用 TQuery->AfterInsetrt(), AfterEdit(), AfterPost(), AfterCancel() 做控制, 可能較穩定.
編輯記錄
herbert2 重新編輯於 2008-10-10 10:48:07, 註解 無‧
|
l90425
初階會員 發表:95 回覆:152 積分:49 註冊:2008-04-03 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |