if dbgrid1.dataset.fieldbyname('name').asstring='' then dbgrid1.enable:=False;
小弟的意思是锁定在当前记录,而光标在DBGrid中不能选取其他的记录
双击你的Table或Query,右键Add all fields添加全部字段,选你要判断是否为空的字段, 比如叫Field1,在它的OnValidate事件中: procedure TForm1.Table1Field1Validate(Sender: TField); begin if Trim(Sender.Value) = '' then raise Exception.Create('Field1不能为空'); end;
to sysu: 不好意思,OnValidate事件我怎么没有看到, 能详细一点吗? 我用的是D7
要选取其中的一个字段才能看见的,或者你自己写一个事件,如sysu(死树)所说的 procedure MyFieldValidate(Sender:TField) begin if Trim(Sender.Value) = '' then raise Exception.Create('Field1不能为空'); end; 在formcreate事件中 加上 (字段).onvalidate := Myfieldvalidete;
dbgrid1.enable:=False;
比如叫Field1,在它的OnValidate事件中:
procedure TForm1.Table1Field1Validate(Sender: TField);
begin
if Trim(Sender.Value) = '' then raise Exception.Create('Field1不能为空');
end;
不好意思,OnValidate事件我怎么没有看到, 能详细一点吗?
我用的是D7
procedure MyFieldValidate(Sender:TField)
begin
if Trim(Sender.Value) = '' then raise Exception.Create('Field1不能为空');
end;
在formcreate事件中
加上 (字段).onvalidate := Myfieldvalidete;
当LockType为ltOptimistic时还可以