DBGridEh1里某行的“应收余额”=上一行的“应收余额”+本行的“应收增加”-本行的“应收减少”
procedure TFormWldz.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
var
i:integer;
begin
for i:=0 to (Sender as TDBGridEh).Columns.Count-1 do
begin
(Sender as TDBGridEh).Columns[6].FieldName:=floattostr(strtofloat(ADOQuery1.FieldByName('je').AsString)-strtofloat(ADOQuery1.FieldByName('je2').AsString));
end;
end;这样写没有提示错误,但也没有结果出来啊,我知道写错了,因为这样写 也没有取上一行的值。
procedure TFormWldz.DBGridEh1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
var
i:integer;
begin
for i:=0 to (Sender as TDBGridEh).Columns.Count-1 do
begin
(Sender as TDBGridEh).Columns[6].FieldName:=floattostr(strtofloat(ADOQuery1.FieldByName('je').AsString)-strtofloat(ADOQuery1.FieldByName('je2').AsString));
end;
end;这样写没有提示错误,但也没有结果出来啊,我知道写错了,因为这样写 也没有取上一行的值。
你把结果赋值给FieldName干嘛?FieldName只是相应的DataSet里面的字段。
所以你要获取某个字段的value的话可以直接通过
ColumnXX.EditValue来获取
如果你要循环所有dbgrideh内容那么可以通过
DataController对象来进行循环。
http://topic.csdn.net/u/20100925/09/7040b0ed-5aed-4d60-9b0c-42bb4b63b1dc.html
谁能帮我写个SQL函数处理呢?
你的应收余额列是什么列,普通列与数据库字段关联的话,在修改之前需要将adoquery转入edit状态。