我想根据Dbgrid记录中字段'Flag' 值的不同,控制右键菜单中个别按钮的可用与否,不知道如何实现,请高人指点!比如: if  Adoquery1.FiledbyName('Flag').AsInteger = 1 then
      右键菜单中的删除按钮 N1.Enable := False;   

解决方案 »

  1.   

    补充说明:至于 Dbgrid与PopupMenu 怎样挂 什么的就不必说了 我只想知道如何控制右键菜单的Enable 属性
      

  2.   

    procedure TForm1.PopupMenu1Popup(Sender: TObject);
    begin
      N1.Enabled := Adoquery1.FiledbyName('Flag').AsInteger = 0;
    end;
      

  3.   

    非常感谢zswang!我知道了 十分感谢!
    顺便问问 我做了软件 用的DBgrid 我想把其中两列 或 一列 设成固定列 不知道怎样实现 
    据说 DbgirdEh可以 ,只是现在好几个已经都用了DBgrid了 都改换的话有点麻烦 不知道你有没有好方法?这贴 明天结吧 再放一晚 结了是不是会很快就沉了 zswang的指点我记下了,再次感谢!
      

  4.   

    To zswang: 我说的固定列是指 Dbgrid的某一列位置不动 不会随滚动条的拖动而不可见
             比如说:有多列 '用户名','部门','备注'.... 我想让'用户名'这列固定 有人说可以用两个DBgrid并排放 其中一个可以只显示'用户名',另一个显示其他,这样倒是能实现
    只是有没有更好的方法呢?
      

  5.   

    DBGRID换成EH很简单的,在DFM里加入EH,然后保存,再回再PAS文件中加入EH,就行了
      

  6.   

    楼上说的方法可行吗 我原来的Dbgrid相关的事件中写了不少代码 如颜色控制等 
    可不可以说的再详细点呢
      

  7.   

    楼上说的方法可行吗 我原来的Dbgrid相关的事件中写了不少代码 如颜色控制等 
    可不可以说的再详细点呢
    》》》EH是和DBGRID都是继承TCustomGrid的,所以这些属性都变为EH时,都不会丢失