5,915
社区成员




procedure TfmQuRope.cdsQueryCalcFields(DataSet: TDataSet);
begin
//self.cdsQuery.
// if dataset.State=dsinternalcalc then
begin
dataset.FieldByName('duedate').AsDateTime:=dataset.FieldByName('begindate').AsDateTime +
self.cdsQuery.FieldByName('life').AsInteger;
dataset.FieldByName('balance').AsInteger := trunc(dataset.FieldByName('begindate').AsDateTime
- today)+dataset.FieldByName('life').AsInteger;
end;
end;
procedure TfmQuRope.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if self.cdsQuery.RecNo mod 2 = 0 then
(Sender as TDBGrid).Canvas.Brush.Color := clskyblue
else
(Sender as TDBGrid).Canvas.Brush.Color := clwindow;
if gdselected in State then
(Sender as TDBGrid).Canvas.Brush.Color := clolive;
// if (sametext(Column.FieldName, 'balance') = true) and
//(self.DBGrid1.Columns[DataCol].Items[1]<30) then
if (datacol=24) and
(Column.Field.AsInteger < fmmain.AdvanceDay) then
//就是这句判断当前列的值是否小于30
begin
//Column.Font.Style := Column.Font.Style + [fsbold];
Column.Font.Color := clred;
end
else
begin
Column.Font.Color := cldefault;
//Column.Font.Style := Column.Font.Style - [fsbold];
end;
(Sender as TDBGrid).DefaultDrawColumnCell(Rect, DataCol, Column, State);