在ONGETTEXT 事件中写 procedure TCX_BDQXForm.OraQrySLSBGetText(Sender: TField; var Text: String; DisplayText: Boolean); begin if Sender.AsInteger >100 then text:=''; end; end;
修改一下楼上的: procedure TCX_BDQXForm.ADOQueryCGetText(Sender: TField; var Text: String; DisplayText: Boolean); begin if Sender.AsInteger >100 then Text:='' else Text := Sender.AsString end;
ADOQuery好像没有GetText事件呀!!
你选择ADOQuery中的一个字段,即有GetText事件
select c, 'cx' = case when c >100 then ' ' else c end from t
procedure TCX_BDQXForm.OraQrySLSBGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
if Sender.AsInteger >100 then
text:='';
end;
end;
procedure TCX_BDQXForm.ADOQueryCGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
if Sender.AsInteger >100 then
Text:=''
else Text := Sender.AsString
end;