读书人

请教DBGrid的其中某一栏填好以后如何

发布时间: 2012-02-08 19:52:21 作者: rapoo

请问DBGrid的其中某一栏填好以后,怎么样在其它项 自动填上 相应的值?
请问DBGrid的其中某一栏填好以后,怎么样在其它项 自动填上 相应的值?

比如某一栏的值是100,那么同一行里另外有一栏是17。(因为增值税为100×17%)
所以希望能够自动被填上。

其实我用的已经是cxGrid,并且在某一栏成功的应用了cxDBLookupCombox,它能够显示另一表的全部栏目,并且在选取之后之能够填上一个id值(比如100)。而我希望选取的不仅仅是这个id值,而且对应的增值税(比如17)能够自动被填到cxGrid的另外一栏里去。

不知道怎样实现? 请各位大大指教! 非常感谢!!


[解决办法]
如果你的表类似以下
金额 税率 税金
那么你可以在ADOQuery中先Add all fields
然后选中金额字段
在object Inspector的Events页
双击OnChange事件,自动生成金额字段的OnChange事件
在里面写上似乎以下代码
ADOQuery.FieldByName( '税金 ').AsFloat:=ADOQuery.FieldByName( '金额 ').AsFloat*ADOQuery.FieldByName( '税率 ').AsFloat;
[解决办法]
可以在DATASET 的beforePost里写运算过程
[解决办法]
楼上的是不是从来不看书的嘛, 不要太不专业的嘛

Field 中有属性 DefaultExpression, 在里面设好相应值自动就加上了嘛

id 值也是用生成的方式写到 DefaultExpression 里是最合理的, 这样不会因为游标动而产生垃圾记录

读书人网 >.NET

热点推荐