当AdoDataSet.Insert;时,此时并禁用DBGrid,当一禁用DBGrid,AdoDataSet.State值会把dsInsert状态,写上变为dsBrowse,如不禁用DBGrid不会发生此现像!!
求教了!
求教了!
解决方案 »
- delphi里的SQL问题
- 静态加载DLL时,出现语法错误在哪?GG没找到
- 这是什么原因????
- 现在找工?!大家谈谈自己的找工经验?! 另:广州那边的工作好找么?!
- iphlpapi函数怎么用?
- 高分求助,在线等候:如何把word文档保存到数据库大文本字段?
- 阴巴可得肉 RS 2010 is installing
- <<<<<<一个笑话100分:讨论邮件问题。
- 小弟开始用delphi,谁知道哪儿有delphi电子书下载
- DELPHI中,如何将所有的BPL都编译LINK到*.EXE中,让软件只有一个EXE文件?
- 积累的几个问题,好心淫进来看看,!~~~~来者给分,只要解决问题,不够再加
- Socket通讯问题(控件TClientSocket)
再插入AdoDataSet.Insert
如果是ReadOnly的话!
DBGrid就会滚动!
那样就不行了!
二、
如果DBGrid.DataSource设为Nil也是不行的!!
可以用DBGrid.DataSet.DisableControl;
try
DBGrid.DataSet.Insert;
finally
DBGrid.DataSet.EnableControl;
ennd;
// 沒在Delphi環境下寫的, 可能有錯.
begin
inherited;
if AdoDataSet_DataSet.State = dsBrowse then
StatusBar_Info.Panels[1].Text := '浏览';
if AdoDataSet_DataSet.State = dsInsert then
StatusBar_Info.Panels[1].Text := '新增';
if AdoDataSet_DataSet.State = dsEdit then
StatusBar_Info.Panels[1].Text := '修改';
ChangeButtonStatus;
end;
procedure TFm_Bases.ChangeButtonStatus;
begin
if (AdoDataSet_DataSet.IsEmpty)
or (not AdoDataSet_DataSet.Active) then
begin
Action_Edit.Enabled := False;
Action_Delete.Enabled := False;
Action_Search.Enabled := False;
Action_Filter.Enabled := False;
Action_Check.Enabled := False;
Action_UnCheck.Enabled := False;
end
else
if AdoDataSet_DataSet.State in [dsInsert, dsEdit] then
begin
ChangeButtonStatusInsertOrEdit;
Exit;
end
else
if AdoDataSet_DataSet.State = dsBrowse then
ChangeButtonStatusBrowse;
end;