读书人

一个数据库表操作有关问题

发布时间: 2012-06-03 16:59:40 作者: rapoo

一个数据库表操作问题
我用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.

Delphi(Pascal) code
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; 

读书人网 >.NET

热点推荐