当AdoDataSet.Insert;时,此时并禁用DBGrid,当一禁用DBGrid,AdoDataSet.State值会把dsInsert状态,写上变为dsBrowse,如不禁用DBGrid不会发生此现像!!
求教了!
求教了!
解决方案 »
- [100分求救]DELPHI调用VB写的DLL的过程为什么提示找不到入口!在线
- 请问如何实现用一个quickRep用多页面预览多个dataset的数据
- 三层结构中打开超过10万条记录的表的问题
- 打印到PDF是什么意思?和生成PDF有什么不同?
- 如何让一个程序开机自动运行,并且呈最小化显示
- 请问hdc 是什么数据类型?
- 求Dephi6中用ADO怎么把SQL SERVER2000中的一个表中的一列放入到一个ComboBox控件中
- 打印问题!急!!!高手请进。
- delphi读写usb设备(求助)
- Kingron,非常感谢你关于typecast的答复,特献上100分!
- 积累的几个问题,好心淫进来看看,!~~~~来者给分,只要解决问题,不够再加
- 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;