DBGrid間隔行顏色與數據集的TBookmark操作

procedure TfrmCardTypeSet.DBGrid2DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
         if  DBGrid2.DataSource.DataSet.RecNo  mod  2=1  then 
         begin 
               DBGrid2.Canvas.Font.Color  :=  clBlue; 
               DBGrid2.Canvas.Brush.Color:=clyellow; 
         end 
         else  begin 
               DBGrid2.Canvas.Font.Color  :=  clred; 
               DBGrid2.Canvas.Brush.Color:=  clGradientActiveCaption;
         end; 
         DBGrid2.DefaultDrawColumnCell(Rect,  DataCol,  Column,  State); 

end;

procedure TfrmCardTypeSet.sbtnSetAsMCardClick(Sender: TObject);
var SavePlace: TBookmark;
begin
if not ADOQuery1.Active then exit;
if (ADOQuery1.Eof  And  ADOQuery1.bof) then  Exit;

  SavePlace:=ADOQuery1.GetBookmark;

  with DataModule1 do
  begin
    if q.Active then q.Close;
    q.SQL.Clear;
    if ADOQuery1.FieldByName('IsMCard').AsBoolean then
      q.SQL.Add('Update EM_CardTypeSet set IsMcard=''0'' where CardType_No='+Quotedstr(Trim(ADOQuery1.FieldByName('CardType_No').AsString) ))
    else
      q.SQL.Add('Update EM_CardTypeSet set IsMcard=''1'' where CardType_No='+Quotedstr(Trim(ADOQuery1.FieldByName('CardType_No').AsString) ));
    q.ExecSQL;
  End;
  ADOQuery1.Requery();

  ADOQuery1.GotoBookmark(SavePlace);
  ADOQuery1.FreeBookmark(SavePlace);

end;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章