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

dbgrid的資料無法進入修改模式

答題得分者是:T.J.B
lungchi
一般會員


發表:14
回覆:23
積分:7
註冊:2002-11-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-09 11:26:08 IP:220.228.xxx.xxx 未訂閱
database使用mssql2000 ,使用dbgrid去做資料的insert,delet,edit,程式運作都正常,但僅能insert,delete資料,但select 資料至dbgrid時,dbgrid中的cell全部都disable了,無法修改,請問各位大大,這是什麼原因,若堅持要使用dbgrid來做修改資料介面,可以嗎? 使用的元件有tquery,tdatabase,tclientdataset,datasetprovider.
sl@cableplus.com.cn
高階會員


發表:168
回覆:359
積分:130
註冊:2004-03-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-09 11:42:23 IP:218.80.xxx.xxx 未訂閱
要dbgrid中进行修改,你要用缓存更新才能实现 而且你的QUERY要在EDIT或APPEND状态下
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-09 12:25:19 IP:202.39.xxx.xxx 未訂閱
TQuery 的 RequestLive 屬性要設為 True
lungchi
一般會員


發表:14
回覆:23
積分:7
註冊:2002-11-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-09 12:42:43 IP:220.228.xxx.xxx 未訂閱
hagar您好 照您的方式試,過結果是一樣的,我check了一下dbgril的狀態為disable了,dbgri1是由tquery selcet出來,還是不能改為什麼?不知是那做錯了?還請個位指教sl@cableplus.com.cn兄您的意思我不太了解,能說明一下嗎?謝謝! query1.SQL.Text := 'select * from bom where bom_pno = "' ed_pno.Text '"'; cdsbom.Close; cdsbom.Open; ........... ........... bit_disabled; bit_s.Enabled := true; dbgrid1.Enabled := true; cdsbom.First; dbgrid1.Enabled := true; dbgrid1.SetFocus; dbgrid1.SelectedIndex := 1; cdsbom.Edit;
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-09 13:10:32 IP:210.65.xxx.xxx 未訂閱
Hi lungchi,    檢查一下 DBGrid 或是 DBGrid 下的 Column ReadOnly 屬性是否被設為 True !? ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
sl@cableplus.com.cn
高階會員


發表:168
回覆:359
積分:130
註冊:2004-03-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-06-09 13:29:43 IP:218.80.xxx.xxx 未訂閱
你可以query和updatesql联合用,把query的属性cachedupdates改成TRUE,updateobject指定updatesql,然后在DBGRID中用该query就可以了
lungchi
一般會員


發表:14
回覆:23
積分:7
註冊:2002-11-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-06-09 13:42:38 IP:220.228.xxx.xxx 未訂閱
dbgrid 的 readonly 是false 當select bom這個table時若無資料時,dbgrid是可以新增資料,所有的cell都可以keyin,當select bom 是有資料時,dbgrid會顯示出資料的,這時會有二種選擇,1.刪除2.修改.刪除的部份沒問題是可以刪掉的,問題是在當我按修改buttn時整個dbgrid則為disable的狀態,資料是不得修改的,煩請各位先進指教
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-06-09 14:24:45 IP:61.221.xxx.xxx 未訂閱
您好: 請問你在修改按鈕上做了什ㄇ動作,正常dbgrid是不會disable,搜尋一下dbgrid應該在某個地方,你將dbgrid設成disable吧 ~~應無所住而生其心~~
sl@cableplus.com.cn
高階會員


發表:168
回覆:359
積分:130
註冊:2004-03-26

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-06-09 15:04:03 IP:218.80.xxx.xxx 未訂閱
有资料的时候,你把dbgrid设置成dbgrid.Edit就行了
sl@cableplus.com.cn
高階會員


發表:168
回覆:359
積分:130
註冊:2004-03-26

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-06-09 15:04:36 IP:218.80.xxx.xxx 未訂閱
有资料的时候,你把dbgrid对应的QUERY设置成QUERY.Edit就行了
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-06-09 15:28:35 IP:61.220.xxx.xxx 未訂閱
你有控制datasource的state 狀態 去改變dbgrid嗎 如果有的話 去查查看 天行健 君子當自強不息~~@.@
------
天行健
君子當自強不息~~@.@
lungchi
一般會員


發表:14
回覆:23
積分:7
註冊:2002-11-13

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-06-09 16:14:42 IP:220.228.xxx.xxx 未訂閱
全查過了,DBGRID只有在FROM.CREATE 中有設定DISABLE,但我在BIT_E的BUTTON中有enabled,修改的button 只寫下列敍述. bit_disabled; bit_s.Enabled := true; dbgrid1.Enabled := true; cdsbom.First; dbgrid1.SetFocus; dbgrid1.SelectedIndex := 1; cdsbom.Edit; 我也是試過query1.edit,一樣沒用,反而會出現錯誤訊息. 我沒沒有在程式中做datasource的state 狀態 去改變dbgrid. 這個問題已經困擾我久了.各位先進敬請指教.
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-06-09 17:03:29 IP:61.220.xxx.xxx 未訂閱
如果真的都覺得沒問題時 有兩種方法(我自己的做法) 1:換一個dbGrid元件(天曉得是不是他突然壞掉) 若是 上述方法無效 2:重做一次dbgrid 與 query 與 datasource 的連結 越單純越好 不要有任何程式碼 如果這樣就有問題 表示屬性就沒設好了 如果沒問題 再一步一步把每個事件的程式碼加上 每加一次上去的時候就run一次看看 (一些無關緊要的程式碼除外) 這樣就可以找出來了 ps:這個方法主要用在程式不大的時候 而且是你覺得關鍵的程式碼 天行健 君子當自強不息~~@.@ 發表人 - T.J.B 於 2004/06/09 17:07:53
------
天行健
君子當自強不息~~@.@
sl@cableplus.com.cn
高階會員


發表:168
回覆:359
積分:130
註冊:2004-03-26

發送簡訊給我
#14 引用回覆 回覆 發表時間:2004-06-09 17:11:17 IP:218.80.xxx.xxx 未訂閱
有资料的时候,你把dbgrid对应的QUERY设置成QUERY.Edit就行了 QUERY.Edit前有没有QUERY.Active:=True;???
系統時間:2024-09-06 7:20:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!