/// <summary>
/// 再选中列上右键造成,选中这列的状态变化的情况的修复
/// </summary>
procedure TfrmMain.XuanYouJianRepair(Sender: TObject);
begin
  if frmClientDm.TradeShowAdq.State = dsEdit then
  begin
    //只这一行代码也是可以的,但是我不太好理解,所以就暂时用下面的代码了,等我的技术水平达到了,就好理解了
    //frmClientDm.TradeShowAdq.Cancel;
    if frmClientDm.TradeShowAdq.FieldByName('top_xuanzhong').AsBoolean then
    begin
      with frmClientDm.TradeShowAdq do
      begin
        Edit;
        FieldByName('top_xuanzhong').AsBoolean := False;
        Post;
      end;
    end else begin
      with frmClientDm.TradeShowAdq do
      begin
        Edit;
        FieldByName('top_xuanzhong').AsBoolean := True;
        Post;
      end;
    end;
  end;
end;

 

用法:

 

posted on 2015-08-17 16:51  del88  阅读(193)  评论(0编辑  收藏  举报