一个关于DBGrid的问题。请问能否动态在DBGrid中添加数据? 有一个DBGrid与ADOQuery1连接,需要在DBGrid中新增一列,用于放前面数据列的和。请问是否可行?如何做?请指教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个.........没搞过。有点难度。或者用两个视图,一个视图放数据,一个视图统计,一起加入到DBGIRD中,不知行不。 第三方控件 dxdbgrid下载地址http://www.delphifans.com/SoftView/SoftView_11.htmldxdbgrid属性设置showsummaryfooter true双击dxdbgrid选择columns列表中选择你要数据列的和的列summaryfooderfield 本列名称summaryfoodertype cssum 在DBGRID中不可能,你可以直接增加一列,但你的数据填不进到,因为没有数据源(每一列都要有一个FIELD)所以数据没办法保存,你可以在他的数据源上加一个统计字段,这样你只要一保存就自动给你算出来 在数据集组件中增加计算字段可以.dbgrid只是数据感知.所有数据都应该存在于数据集组件里.应该是吧.呵呵. 用sql来写,将计算出来的结果自己定义一个字段再dbgridex中显示出来。跟排序一样。 unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, Grids, DBGrids, DBTables, ExtCtrls, StdCtrls;type TForm1 = class(TForm) Table1: TTable; DBGrid1: TDBGrid; DataSource1: TDataSource; Table1BDEDesigner2: TStringField; Table1BDEDesigner3: TStringField; Table1BDEDesigner4: TStringField; Table1BDEDesigner9: TStringField; Table1BDEDesigner15: TStringField; Table1BDEDesigner16: TFloatField; Table1BDEDesigner17: TFloatField; Table1Field: TCurrencyField; Label1: TLabel; Bevel1: TBevel; procedure Table1CalcFields(DataSet: TDataSet); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Table1CalcFields(DataSet: TDataSet);begin Dataset.fieldbyname('利润').ascurrency:= Dataset.fieldbyname('金额').ascurrency- Dataset.fieldbyname('进价').ascurrency*9end;end. 1、在数据集中静态增加一计算字段就可以了,然后在数据集的ONCalcFields事件中完成计算,也可以在SQL语句中完成2、如果要动态增加,建议使用CLIENTDATASET来完成,动态生成数据集 大吼,拉人了拉人了 datetime转换问题 编写的软件问题 将窗体控件信息保存在文件里面,怎样将控件的事件保存在文件里面? onFilterRecord事件的用法 谁能告诉我DELPHI的调试技巧或相关文章 提问:我在DBGrideh中做了个下拉提示框,可以选择数据,但是????(内详!) 关于DELPHI与ACCESS的问题,请大虾们帮忙 很久不见!偶尔回来走走,给大家放点分! 我喜欢一个女孩子很久了,但始终不敢说出口,不说又很难受,谁能告诉我该怎么办?救命啊!!! 100分求教xml添加子节点及属性问题 关于在listbox组件里取字段的问题
下载地址
http://www.delphifans.com/SoftView/SoftView_11.html
dxdbgrid
属性设置
showsummaryfooter true
双击dxdbgrid
选择columns
列表中
选择你要数据列的和的列
summaryfooderfield 本列名称
summaryfoodertype cssum
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, DBTables, ExtCtrls, StdCtrls;type
TForm1 = class(TForm)
Table1: TTable;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Table1BDEDesigner2: TStringField;
Table1BDEDesigner3: TStringField;
Table1BDEDesigner4: TStringField;
Table1BDEDesigner9: TStringField;
Table1BDEDesigner15: TStringField;
Table1BDEDesigner16: TFloatField;
Table1BDEDesigner17: TFloatField;
Table1Field: TCurrencyField;
Label1: TLabel;
Bevel1: TBevel;
procedure Table1CalcFields(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
procedure TForm1.Table1CalcFields(DataSet: TDataSet);
begin
Dataset.fieldbyname('利润').ascurrency:= Dataset.fieldbyname('金额').ascurrency- Dataset.fieldbyname('进价').ascurrency*9
end;
end.
2、如果要动态增加,建议使用CLIENTDATASET来完成,动态生成数据集