当前位置:主页>销售管理软件> 列表

关于DBGridEh的问题,应该简单的! 找药品进销存表格

财务软件版1楼: 各位大虾,现我用DBGrid,datasoure,adotable连接数据库.
有三个字段
A B C
1 2 0.5
2 8 0.25
3 9 0.33
c:=a/b
那么在DBGridEh中任意修改A或B字段,C便自动更改,且在表格中刷新,该如何实现呢?
谢谢!:)

2楼: 在数据集上创建一个计算字段吧,在数据集的OnCalcFields事件中给计算字段赋值 c := a / b 如进销存软件破解版

3楼: 我也是这么想的,回去试下看看,成功就给分了!

4楼: bjaman是可行的。
或者双击DBGridEh,在A和B字段的ONCHANGE事件,
c := a / b

5楼: 两位大哥啊,又有问题了。1.直接在DBGrid中修改数据后,咋就每触发OnCalcFields事件中事件呢?2.DBGridEh的字段好像没有ONCHANGE事件诶。3.最后,DBGridEh怎么才能在修改数据后,点击Enter或tab键就可以直接将修改的数据更新到数据库中呢?

6楼: 在dbgrideh修改数据后应该是自动保存的吧?
实在不行还有个笨方法,你可以直接对数据库的数据计算,每次修改数据后计算c,计算完再刷新dbgrideh

财务软件版7楼: 来自:ntit_avan, 时间:2006-3-14 11:34:09, ID:3381144


两位大哥啊,又有问题了。1.直接在DBGrid中修改数据后,咋就每触发OnCalcFields事件中事件呢?2.DBGridEh的字段好像没有ONCHANGE事件诶。3.最后,DBGridEh怎么才能在修改数据后,点击Enter或tab键就可以直接将修改的数据更新到数据库中呢?
---------------
1.触发OnCalcFields事件,跟DBGridEh没有关系,只是跟你的dataset有关.
2.不是你的DBGridEh的字段,而是DBGridEh对应的Dataset的字段的OnChange

8楼: babibean,你好。谢谢你的回复,我在公司,要回去了才能试的,明天看下,解决了就给分了。都回有的!

9楼: 各位大哥,还是没用的。因为我要在触发事件之后,Edit和Post。试过好多事件,都会出错的。不知道怎么解决了:(

10楼: 咋都不回我呢,解决了问题再多送分啊!

11楼: 不知道你的ABC之间是什么关系?
如果满足一定的关系,可以把C显示在页脚

12楼: abc的关系上面都有的啊,要实现的功能其实就是模仿Execl的表格。 如药品进销存表格

13楼: 你会不会创建“计算字段”?
“计算字段”是在 adotable 上创建的,OnCalcFields 也是对 adotable 而言的。

财务软件版14楼: kaida,要不你详细点告诉我好啊?

15楼: 创建计算字段:
1.双击 ADOTable1
2.在字段编辑器中,右键点击空白处,选择 New Field...
3.输入 Name: C,Type: Float,Field Type:Calculated。点击 Ok。
4.点选 ADOTable1
5.在 Object Inspector 的 Events 页中双击 OnCalcFields 右边空白处。
6.填写以下代码:
procedure TForm1.ADOTable1CalcFields(DataSet: TDataSet);
begin
DataSet.FieldByName(''c'').AsFloat:=
DataSet.FieldByName(''a'').AsFloat /
DataSet.FieldByName(''b'').AsFloat;
end;
7.DataSource1 指向 ADOTable1。
8.DBGrid1 指向 DataSource1。
9.双击 DBGrid1,添加 a,b,c 字段。
OK!

16楼: kaida,人很好,留个QQ好啊?

17楼: QQ 272441576

18楼: 谢谢大家了!

19楼: 谢谢!