在修改或瀏覽狀態時,無法修改欄位內容,新增可以 |
答題得分者是:Justmade
|
miguel
一般會員 發表:26 回覆:20 積分:9 註冊:2002-03-30 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
miguel
一般會員 發表:26 回覆:20 積分:9 註冊:2002-03-30 發送簡訊給我 |
感謝 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 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
引言: 感謝 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 可用同一事件。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |