这个问题不能通过dbgrid控件来解决,应通过对dbgrid相应的recordset(table,qurey)用
代码游历一遍,每条记录用判断语句比较1+3列和2+4列的值,小的放在字段5,
大的放在字段6,然后dbgrid显示的就是你要的结果了!
假如table1是与dbgrid的datasource相对应的表,那么:
var
n1:integer;
begin
with table1 do
begin
disablecontrols;
open;
first;
while not eof do
begin
n1:=(fields[1].asinteger+fields[3].asinteger)-(fields[2].asinteger+fields[4].asinteger);
edit;
if n1>0 then
fields[5].asinteger:=n1
else
fields[6].asinteger:=n1;
post;
next;
end;
enablecontrols;
end;
end;