请问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 里是最合理的, 这样不会因为游标动而产生垃圾记录