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

在修改或瀏覽狀態時,無法修改欄位內容,新增可以

答題得分者是:Justmade
miguel
一般會員


發表:26
回覆:20
積分:9
註冊:2002-03-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-27 09:58:51 IP:211.23.xxx.xxx 未訂閱
使用 dbctrlgrid 有欄 1 2 3 如何 在新增時(只有新增那一列) 欄 1 2 3可以輸入,其他列不行 在修改或瀏覽狀態時,無法修改欄位內容 麻煩 各位大大解惑!!
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-27 10:11:43 IP:218.16.xxx.xxx 未訂閱
在相關的 Table / Query 的 AfterEdit 事件設定
if Table1.state <> dsInsert then
  Table1.cancel;
miguel
一般會員


發表:26
回覆:20
積分:9
註冊:2002-03-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-27 10:59:42 IP:211.23.xxx.xxx 未訂閱
感謝 Justmade 回覆 不過 你的答案會造成dataset can't not in edit or insert 的 錯誤!! 所以 我就把dataset Close and open it 就OK了!! if dm.qry01.State in [dsEdit,dsBrowse] then begin showmessage('55555'); dm.Dts01.DataSet.Cancel; dm.qry01.Close; dm.qry01.Open; exit; end;
miguel
一般會員


發表:26
回覆:20
積分:9
註冊:2002-03-30

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-27 11:08:16 IP:211.23.xxx.xxx 未訂閱
SORRY 再發問!! 剛問題有誤!! 使用 >只有欄> 麻煩 各位大大解惑!!
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-03-27 11:36:31 IP:218.16.xxx.xxx 未訂閱
引言: 感謝 Justmade 回覆 不過 你的答案會造成dataset can't not in edit or insert 的 錯誤!!
你若照我所說的放在 Table / Query 的 AfterEdit 事件是不會有這個錯誤的
引言: 所以 我就把dataset Close and open it 就OK了!!
這樣豈不是每次都跳回第一筆記錄?
引言: 使用 dbctrlgrid 有欄 1 2 3 如何 在新增時(只有新增那一列) 欄 1 2 3可以輸入,其他列不行 在修改或瀏覽狀態時,只有欄1 2 無法修改欄位內容,欄3 可以!!
1. 放棄之前的做法 2. 在 qry01 設定 Field1 及 Field2 的 ReadOnly 為 True 3. 在 qry01 設定 afterinsert 事件將 ReadOnly 改為 False 4. 在 qry01 設定 afterpost 及 aftercancel 事件將 ReadOnly 改回 True
procedure Tdm.qry01AfterInsert(DataSet: TDataSet);
begin
  Table1.Fields[0].ReadOnly :=  false;
  Table1.Fields[1].ReadOnly :=  false;
end;    procedure Tdm.qry01AfterPost(DataSet: TDataSet);
begin
  Table1.Fields[0].ReadOnly := true;
  Table1.Fields[1].ReadOnly := true;
end;    procedure Tdm.qry01AfterCancel(DataSet: TDataSet);
begin
  Table1.Fields[0].ReadOnly := true;
  Table1.Fields[1].ReadOnly := true;
end;
* 其實若沒有其他程式碼, AfterPost 及 AfterCancel 可用同一事件。
系統時間:2024-07-03 3:49:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!