DBGrid 的自动计算,强!!!

lxj_com2006 2006-07-27 09:18:56

比如第4、5行4列的数据需要1、2、3列数据相加,
这样1、2、3种某列数据变动后,4列数据马上重新计算

这种情况怎么处理?

如果ADOConnection1,ADOTable1数据集,DBGrid1打开前,
双击ADOTable1,打开“字段编辑器”
new fields,field type选calculated


然后编辑事件
TForm1.ADOTable1CalcFields(TDataSet *DataSet)
begin
DataSet.FieldByName("field4").AsInteger:=
DataSet.FieldByName("field1").AsInteger+
DataSet.FieldByName("field2").AsInteger+
DataSet.FieldByName("field3").AsInteger;
end;
可以让AutoCalcFields=true

全部用代码如何实现???,并且将自动计算字段保存到数据库。

请教。

...全文
102 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
你的 DBGrid 需要合计行吗?想做出速达 E2 一样的单据录入界面吗?有了 QLGrid Suite,这些都不是问题! TQLDBGrid --------- 1、中国财务凭证式的金额显示。各显示位之间的分隔线颜色可自行定义,并可在标题行上显示“...万千百十个角分”!!! 2、支持多种方式的合计行。支持合计、平均、计数、文本等方式的合计行。中国财务凭证式的金额显示在合计行上同样适用。合计行的颜色可自行定义!!! 3、可在 Grid 的各列上嵌入任意控件来代替默认编辑器,例如可在布尔型字段的列上嵌入 DBCheckBox,在一只读或计算字段的列上嵌入 DBEdit!!! 4、支持交替式的行颜色显示。奇数行和偶数行可定义不同的颜色 5、自适应宽度。Grid 中的各列的宽度随 Grid 宽度的改变可自行调整宽度,使其始终填充整个 Grid 客户区域 6、回车键转换为制表键。可将回车键当作制表键来处理,使用户敲回车键时自动转入下一列或行,输入数据更快速方便 7、结合 TQLQRDBGridBuilder 自动生成 QuickReport 报表,省去手工制作报表的麻烦!!! 8、结合 TDBLookupComboBox 实现输入内容按拼音码查找(如同速达 E2 中的品名输入方式),而不必在大量的产品目录中来回查找或迫用户记忆大量的产品代码!!! 9、继承自标准的 TDBGrid,使用 TDBGrid 或其子类开发的现有程序可实现平滑升级 更多大的特性.... TQLDBLookupComboBox ------------------- 标准 DBLookupComboBox 的替代品,提供了方便中国用户使用的大特性 1、弹出的列表框中的内容可按拼音码或原文(包含方式)查找!!! 2、弹出的列表框的下面可显示相应的操作按钮,如显示新建、修改、置空按钮来针对当前记录提供操作!!! 3、属性完全兼容 TDBLookupComboBox ......
QLDBGrid 是一款增型的 DBGrid 组件,继承自标准 DBGrid,并增加了许多大实用的功能,如财务金额栏,嵌入外部组件等等。特性----* 中国财务凭证式的金额显示。各显示位之间的分隔线颜色可自行定义,并可在标题行上显示“...万千百十个角分”!!! * 支持多种方式的合计行。支持合计、平均、计数、文本等方式的合计行。中国财务凭证式的金额显示在合计行上同样适用。合计行的颜色可自行定义!!! * 可在 Grid 的各列上嵌入任意控件来代替默认编辑器,例如可在布尔型字段的列上嵌入 DBCheckBox,在一只读或计算字段的列上嵌入 DBEdit!!! * 支持交替式的行颜色显示。奇数行和偶数行可定义不同的颜色 * 自适应宽度。Grid 中的各列的宽度随 Grid 宽度的改变可自行调整宽度,使其始终填充整个 Grid 客户区域 * 回车键转换为制表键。可将回车键当作制表键来处理,使用户敲回车键时自动转入下一列或行,输入数据更快速方便 * 结合 TQLQRDBGridBuilder 自动生成 QuickReport 报表,省去手工制作报表的麻烦!!! * 结合 TQLDBLookupComboBox 实现输入内容按拼音码查找(如同速达 E2 中的品名输入方式),而不必在大量的产品目录中来回查找或迫用户记忆大量的产品代码!!! * 继承自标准的 TDBGrid,使用 TDBGrid 或其子类开发的现有程序可实现平滑升级
您的 DBGrid 需要合计行吗?想做出速达 E2 一样的单据录入界面吗?有了 QLDBGrid Suite,这些都不是问题! 请下载演示程序: http://www.nicesoft.net/downloads/qlldemo.zip 特性 1. 中国财务凭证式的金额显示。各显示位之间的分隔线颜色可自行定义,并可在标题行上显示“...万千百十个角分”!!! 2. 支持多种方式的合计行。支持合计、平均、计数、文本等方式的合计行。中国财务凭证式的金额显示在合计行上同样适用。合计行的颜色可自行定义!!! 3. 可在 Grid 的各列上嵌入任意控件来代替默认编辑器,例如可在布尔型字段的列上嵌入 DBCheckBox,在一只读或计算字段的列上嵌入 DBEdit!!! 4. 支持交替式的行颜色显示。奇数行和偶数行可定义不同的颜色 5. 自适应宽度。Grid 中的各列的宽度随 Grid 宽度的改变可自行调整宽度,使其始终填充整个 Grid 客户区域 6. 回车键转换为制表键。可将回车键当作制表键来处理,使用户敲回车键时自动转入下一列或行,输入数据更快速方便 7. 结合 TQLQRDBGridBuilder 自动生成 QuickReport 报表,省去手工制作报表的麻烦!!! 8. 结合 TQLDBLookupComboBox 实现输入内容按拼音码查找(如同速达 E2 中的品名输入方式),而不必在大量的产品目录中来回查找或迫用户记忆大量的产品代码!!! 9. 继承自标准的 TDBGrid,使用 TDBGrid 或其子类开发的现有程序可实现平滑升级 更多大的特性.... 需要源代码请购买。 http://www.nicesoft.net master@nicesoft.net QQ43645896
包含安装包及源码包 ----------------------------------技术背景介绍===================================' 本系统在一些大中型企业(跨多达24个区域)一直都在很好的服务过,主要在FTP 控制 UDP控制 HTTP控制 傁客户数据库 数据库 数据压缩加密方面进行了综合深入的应用 =====================================模块功能介绍==================================== OAEnterPrise.exe: 用户及权限的集成管理 ;报表种类及字段自动定义 sky.exe 报表录入及FTP自动传输系统,(多对一)初始密码为1 ReportServer.exe 报表自动接收系统,自动汇总导入数据库(DBF) SkyEditor.exe 文档录入及自动FTP发送系统 editorserver.exe 文档自动分类接收系统 SQL.exe 通用数据库查询系统 {支持各类数据库格式的查询,支持Undo 及 Redo 操作,可以保存任意中间结果 ,支持对任意结果的n次查询 支持查询结果导入excel表 支持多表查询操作} 需要 BDE skynet.exe 电子邮件系统(采用 HTTP DLL ) WebSearch.exe 文档及报表远程查询系统 webchat.exe 远程会议系统 {必须先在装有FTP SERVER 的服务器上 启动Install\Soft\New目录下ChatServer.exe} WinArchiver.exe :压缩解压系统 SkyImage.exe :图片编辑器 =====================================安装操作==================================== 在本机需要安装BDE(delphi BDE) 1: 在主机(服务器端口)上建立FTP服务(最好是微软的IIS_FTP) 设定用户名PASS 及密码USER (例如 : 用户名 :chj 密码: 1998 ),将设定的FTP用户名及密码设定为FTP的最高操作权限,注意如果用微软的IIS_FTP请在操作系统用户管理器也要设定此用户名及密码并设定为隶属于Administrator,否则刚才设定的用户名及密码将无法登陆FTP SERVER; 2: 手工在本用户FTP根目录下建立以下远程文件目录: 1. dat 2. dat\regse 3. dat\regre 4. dat\update 5. report 6. report\dat01 7. report\dat02 8. report\dat03 9. report\dat04 10. report\dat05 11. report\dat06 3: 获取加密用户名及密码: 在压缩文件中找到pass.exe文件 将用户名及密码输入EDIT编辑框,点按buttom1按钮,将得到加密的用户名及密码,例如用户名 :chj 密码: 1998,得到的用户名及密码分别是 用户名 :avu 密码: 2770 4:获取主机地址加密数据,和上面一样,将运行FTP SERVER 主机地址 例如 202.87.09.91 输入EDIT编辑框点按buttom1按钮,将得到加密的主机地址 5: 执行install安装程序,系统对于普通用户及超级都用它来安装, 对于普通用户,不需要序列号,对于超级用户需要序列号,序列号为OA2000 ; 6 录入主机地址及用户密码,将加密的主机地址录入主机地址栏目中,上面的545.03.47.72,在主、副、次用户名中录入加密的FTP 用户名,例如上面的 avu 在主、副、次密码中录入加密的FTP 用户密码 例如2770 7. 填写安装区域部门选项(选择安装用户);如果选择总部各部门,比如"总经办",则密码为大写ZB+"总经办"每个字第一个大写的拼音,例如上面为ZBZJB ; 如果选择各分部,比如"安徽分部",则密码为大写 "安徽分部"每个字第一个大写的拼音,例如上面为AHFB; 如果选择各办事处,比如"安庆",则密码为大写 "安庆"每个字第一个大写的拼音,例如上面为AQ; 这些便是登陆用户信息,内容在\Install\Soft\New\NetSky\DAT 目录下,为bscid.cdx 和 zbid.cdx和fbid.cdx ;可以修改本初始文件; 可以用Delphi的ClientDataSet组件的LoadFromFile及SaveToFile方法打开本文件读写编辑,文件内容可
作用是在运行时刻自动对其它可视控件进行动态的位置/大小调整.这个控件实现的功能和VB.Net的窗体布局功能类似.比如你的窗体中有一个DBGrid控件,占了很大一部分,下边有几个按钮 现在需要窗体的大小可调,以使DBGrid可以看到更多的数据,这样的话,窗体上的控件就都需要调整,不然只有窗体变化,而控件不动的话就达不到预期效果,而且很难看.原来的方式是在窗口的Resize事件中添加调整控件大小/位置的代码,这样做的话比较麻烦,要自己手动去计算宽度/偏移,然后将这些代码写死在程序中,以后增加控件或者调整布局都需要重新计算/修改代码,不利于维护. 有了这个控件就方便多了,Resize事件中一行代码不用写,只需将这个控件拖动到窗体上,然后设置被调整控件的Tag属性,在运行时刻就可以进行调整了.VB6ResizerLib 2.0 版本新增分隔条控件,运行时可动态调整.同时修改了1.x版本中控件在退出程序前不会被释放及其导致的一系列问题.VB6ResizerLib 2.2 修正了2.0版本中使用DesignTimeInit模式的时候可能会导致VB崩溃的问题.使用说明:启动VB程序,打开一个工程.按Ctrl+T打开部件对话框.找到并选中VB6ResizerLib后点击确定.将工具箱中新出现的VB6Resizer控件拖动到窗体上即可.被调整控件需要使用Tag属性定义调整规则,方式如下:H-调整控件自身高度.W-调整空间自身宽度.T-调整控件与容器顶部距离.L-调整控件与容器左侧距离.例如―HW‖表示自动调整高度和宽度.TL的优先级高于HW,如果Tag同时包含T和H,则仅T有效.

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧