delphi grid 数据显示问题

zhaozheng821018 2009-07-23 11:14:35
如何通过循环组织出grid中要显示的数据,也就是说:grid中要显示a~e 5列数据,第一个adoquery只能查询出a,b,c三列,在第一个query内依据a,b列循环查询出d,e列的值,放到相应的列中去,如何做到,d,e列的至不被更新到数据库中去。
...全文
199 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaozheng821018 2009-07-24
  • 打赏
  • 举报
回复
我搞定了,用8楼的方法,只是把它放在query的open之后,直接就处理了。
  • 打赏
  • 举报
回复
楼上的可以.
sparklerl 2009-07-23
  • 打赏
  • 举报
回复
双击adoquery,会出来一个Field列表

右键可以新增(new)字段,
新增的字段类型(field type)有data,Calculated,lookup
Calculated就是计算字段

计算字段的计算可以放在adoquery的onCalcFields事件中,当你的非计算字段值变化时,就会触发此事件,open的时候也会触发

procedure TForm1.ADOQueryCalcFields(DataSet: TDataSet);
begin
with ADOQuery do
begin
//你可以在这个地方进行一些判断,再进行对应的计算
FieldByName('d').Value:= FieldByName('a').AsInteger+ FieldByName(
'b').AsInteger ;
FieldByName('e').Value:= FieldByName('b').AsInteger+ FieldByName(
'c').AsInteger ;
end;
end;
ywbcxq 2009-07-23
  • 打赏
  • 举报
回复
动态增加二个字duan,在计算过程中,d :=a+c, e:=..这样 d,e就是不可修改的。
zhaozheng821018 2009-07-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lypzyy 的回复:]
while not adoquery.eof do
begin
  a:=adoquery.fieldbyname('a').asString;
  b:=adoquery.fieldbyname('b').asString;
  c:=adoquery.fieldbyname('c').asString;
  //根据实际情况写d、e的值,这里可以根据a、b值进行判断d、e的值
  d:=a+b;
  e:=...
  //下面写grid的生成语句即可
  grid='...';
  adoquery.next;
end;
[/Quote]
其他的都理解,就是grid的生成语句能说具体点么
dinoalex 2009-07-23
  • 打赏
  • 举报
回复
建view,主键是a,b
lypzyy 2009-07-23
  • 打赏
  • 举报
回复
while not adoquery.eof do
begin
a:=adoquery.fieldbyname('a').asString;
b:=adoquery.fieldbyname('b').asString;
c:=adoquery.fieldbyname('c').asString;
//根据实际情况写d、e的值,这里可以根据a、b值进行判断d、e的值
d:=a+b;
e:=...
//下面写grid的生成语句即可
grid='...';
adoquery.next;
end;
zhaozheng821018 2009-07-23
  • 打赏
  • 举报
回复
是类似 select a.a,a.b,a.c,'' as d,'' as e from a 这样的写法么
这个写法我试过,它提示d,e不能被修改,是不是那个地方我没有注意到。
sparklerl 2009-07-23
  • 打赏
  • 举报
回复
在ADOQuery中新增两个计算字段
windy454 2009-07-23
  • 打赏
  • 举报
回复
我也是刚接触delphi还不是很懂。建议你先去看下数据库方面的书。看下数据库的操作
首先说下控件功能如下: 1,可以设置固定行 和固定列.固定行和列是任何时候不许编辑的,但是可以代码修改设置 2,可以设置背景色(包括固定好和表格内部背景色,非固定单元格背景只对新建单元格有效) 3,可以合并单元格(横向竖向均可合并,支持横竖同时合并单元格效果) 4,边框线宽度可以设置(外边框线,内边框线可以分开设置) 5,边框颜色可以设置(内外线色可以设置不同颜色) 6,可以设置编辑状态(此属性是新建单元格属性,只对新建单元格生效) 7,只读属性(针对所有非固定单元格) 8,随时可以设置行数和列数(减少的话,末尾待减少储存数据会丢失) 9,增加是否立即刷新参数,可以在大量输入录入时快速执行 下面是单元格单独属性设置介绍 1,可以储存字符串 2,可以储存整数 3,可以储存文本(默认单元格内显示[DEMO],可以编辑实际内容或读取实际内容) 4,可以储存字符串列表(可以设置读取选择字符串) 5,可以储存日期(格式2018-07-06) 6,可以储存时间(格式10:26:32,设置智能设置到时分,直接赋值可以包含更精确单位) 7,可以设置日期(格式包含以上格式,设置同上.直接赋值可以保存更精确单位) 8,可以储存颜色(显示以保存颜色显示) 9,单元格字体,所有字体设置均支持(包含颜色,字体,换行,对齐等属性) 10,背景可以单独设置 10,可以单独设置是否允许编辑 详细使用请看使用说明

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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