一个数据库表操作问题
我用ODAC控件连接数据库,cxgrid控件显示数据库表内容,我单击修改按钮,对数据进行修改,直接在cxgrid中修改,我输入一个负数,提示不能为负,重新输入,焦点显示在刚修改的这行上如何实现
[解决办法]
比如你的cxgrid对应的dataset是adoquery1,则在adoquery1的onbefore事件写代码处理
if dataset.fieldbyname('你的字段').asinteger<0 then
begin
showmessage('输入值不能是负数');
cxgrid.selectedfield:=dataset.fieldbyname('你的字段');//或者cxgrid.selectedIndex:=所在列
abort;
end;
[解决办法]
1.将该列的properties属性设置为TextEdit
2.
procedure TForm1.cxgrdbclmn1PropertiesEditValueChanged( Sender: TObject); //cxgrdbclmn1为cxgridtabelview的列名var relValue:real;begin relValue:=cxgrdtbv1.Columns[0].EditValue; if relValue<0 then begin showmessage('不能为负数'); TcxTextEdit(sender).setfocus; end; end;