一个 DBGrid 中,右键出现 popupmenu 。popupmenu 有两个菜单(1.删除资料;2.查询资料)   现在想做的事:当 DBGrid 中没有资料时,右键弹出的菜单中 删除资料 是灰色的,不可点击。该如何判断?

解决方案 »

  1.   

    那就把你的条件查询啊。
    查询完了以后。
    设定enabled := false
      

  2.   

    在PopupMenu1的onpopup事件中写
    if adoquery1.isempty then
      删除资料.enabled:=false
    else
      删除资料.enabled:=true;
      

  3.   

    在DBGRID的onmousedown中写if 资料=‘’then
      N1.enabled:=false
    else
      N1.enabled:=true;如果用到了actionlist的话,就更容易控制了
      

  4.   

    这是我以前写的
    procedure TForm1.Memo1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
        if button=mbRight then if Memo1.Lines.Count=0 then savemessages1.Enabled:=false else savemessages1.Enabled:=true;
    end;