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

請教使用DBCheckBox時,如何在新增資料時能變成空白狀態?

答題得分者是:channel
s9054469
一般會員


發表:21
回覆:35
積分:11
註冊:2003-04-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-15 15:55:18 IP:210.243.xxx.xxx 未訂閱
使用DBCheckBox1做為資料表的感知元件時, 當瀏覽資料時,其DBCheckBox1會隨我設定的 valueChecked及valueunchecked值對應其勾選狀態, 但是當資料做insert時,DBCheckBox卻變成以灰色區域顯示的狀態, 我試著像設CheckBox的state屬性一樣, 將DBCheckBox.state設成cbUnchecked, 但是卻無任何反應,所以是因為 DBCheckBox對應的DataField欄位型態有限制, 還是有其它屬性要設定才能使用state設定呢? 麻煩各位先進指導一下,謝謝!!
------
corn
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-15 16:25:48 IP:147.8.xxx.xxx 未訂閱
The grayed DBCheckBox means the field value is neither its ValueChecked nor ValueUnchecked. You should set the initial value of your field instead. For example in the DataSet.AfterInsert event.
channel
尊榮會員


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-15 16:27:01 IP:211.21.xxx.xxx 未訂閱
引言: 使用DBCheckBox1做為資料表的感知元件時, 當瀏覽資料時,其DBCheckBox1會隨我設定的 valueChecked及valueunchecked值對應其勾選狀態, 但是當資料做insert時,DBCheckBox卻變成以灰色區域顯示的狀態, 我試著像設CheckBox的state屬性一樣, 將DBCheckBox.state設成cbUnchecked, 但是卻無任何反應,所以是因為 DBCheckBox對應的DataField欄位型態有限制, 還是有其它屬性要設定才能使用state設定呢? 麻煩各位先進指導一下,謝謝!!
假設: 有一Query1 DBCheckBox1的DataField為YN 其ValueChecked為Y, ValueUnChecked為N 在TDateSet(TQuery、TTable…)的OnNewRecord事件寫: Query.FieldByName('YN').AsString := 'N' 理由:既然您知道DBCheckBox1是做為資料表的感知元件,所以DBCheckBox1是根據您的欄位值變化(打勾或不打勾),當您新增一筆資料時,其欄位值為Null所以DBCheckBox卻變成以灰色區域顯示的狀態,所以您只要在OnNewRecord事件給定欄位的值為ValueUnChecked的值,那就變空白的狀態囉... ~小弟淺見,參考看看~
------
~小弟淺見,參考看看~
s9054469
一般會員


發表:21
回覆:35
積分:11
註冊:2003-04-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-15 17:25:44 IP:210.243.xxx.xxx 未訂閱
版主william大大跟channel兄,非常感謝二位的幫忙!! 版主william大大又要請你原諒我一次了, 因為channel兄講的較仔細點,所以將給分給他, 請你見諒囉;    另外二位的方式我都去試了一下, 我發覺在AfterInsert事件中設定以下方式 ============================================== procedure Tset_accounting.SimpleDataSet1AfterInsert(   DataSet: TDataSet); begin   DBCheckBox1.State := cbUnchecked; end; ============================================== 就能做到使DBCheckBox程現未勾選的空白狀態, 如果是放在onNewRecord事件就沒有用了, 因此使用onNewRecord事件時,就可使用channel兄講的方法, 但因為我較不習慣一newRecord就去先去塞值給它, 所以我會選擇使用在afterInsert事件 去改變state的設定,不知這樣會不會比較好? 真的很感謝二位這麼快就回覆,3Q!! 發表人 -
------
corn
系統時間:2024-06-26 22:41:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!