怎么让DBGrid中只有满足条件的记录才能被修改,而其它的修改无效? 怎么让DBGrid中只有满足条件的记录才能被修改,而其它的修改无效? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用SQL语句的Update+Where可以实现按条件修改 要是在GRID里直接改的话,不好控制好像,dxDBGrid或GridEH里还说弄些. AdoQuery.onBeforeEdit if AdoQuery.FieldByName('Posted').value = '1' then begin ShowMessage('单据审核,不能修改!'); ??.SetForce abort; end; 先把DBGrid中的readonly = true然后在OnDragDrop事件中判断如果满足条件就把readonly = false当不满足条件的时候readonly = true procedure TForm1.DBGrid1DblClick(Sender: TObject);begin if DM.ADOQuery1.FieldByName('aa').asstring = 'aa' then begin DBGrid1.ReadOnly := false; end; if DM.ADOQuery1.FieldByName('aa').asstring <> 'aa' then begin DBGrid1.ReadOnly := true; end;end; AdoQuery.OnBeforeEdit可以处理这个事件来判断是否修改 关于线程不能控制调用它的form的属性 Delphi7中dfm文件错误问题 用DBcombobox的时候,运行时为什么下拉列表只有一个值啊(在线等) 怎样在installshield express 中写入中文? 如何移动到指定记录? 急需 請問multilizer 在delphi 下的用法 播放 module 音乐 大家帮看看这句代码是什么意思,没有看懂 ------- Delphi高手请进 ------() 如何求两个象素之间的距离? 这个语法怎么写?
begin
ShowMessage('单据审核,不能修改!');
??.SetForce
abort;
end;
然后在OnDragDrop事件中判断如果满足条件就
把readonly = false
当不满足条件的时候readonly = true
begin
if DM.ADOQuery1.FieldByName('aa').asstring = 'aa' then
begin
DBGrid1.ReadOnly := false;
end;
if DM.ADOQuery1.FieldByName('aa').asstring <> 'aa' then
begin
DBGrid1.ReadOnly := true;
end;
end;