zoukankan      html  css  js  c++  java
  • uniDBGrid操作栏按钮的实现经验

    uniDBGrid支持定义一个操作栏,在里面放置图标按钮,如下图:

    具体实现,可以参考这篇文章:uniGUI for Delphi UniDBGrid增加按钮列,写的非常详细。

    按这篇文章,我们必须实现Grid的ColumnActionClick事件,这其实是件很麻烦的事情,我们要判断用户点了哪个按钮并为之写逻辑,当在继承实现中,更要多写很多代码。

    怎么避免这种情况呢?说来也简单,就是在定义列按钮的时候,uniGUI支持Action,我们把具体的操作,通过Action实现,然后联接到列按钮上,就不用写ColumnActionClick事件代码了。

     如上图,为第一个按钮定义actAddRow操作。

    目前的1551版本存在一个Bug,就是这样定义后,我们还要实现空的

    procedure TCustomBillForm.UniDBGrid1ColumnActionClick(Column: TUniDBGridColumn;
        ButtonId: Integer);
    begin
      inherited;
      //这里必须有,不然不执行列按钮联接的Action。 1551版本,是bug.
      //这里不用处理,列按钮对应的Action会被执行.
    end;

    这样实现后,对于这个窗口的子类来说,我们只要实现对应的Action,或者不实现,就用基类的Action,列按钮就如期运行了!

    总结:

    1.为列按钮定义Action

    2.实现空的1ColumnActionClick

    3.列按钮机制如期运行!

    好经验就是用来分享的!感谢支持我的朋友们!

  • 相关阅读:
    python基础—函数装饰器
    python基础—函数嵌套与闭包
    Python之三级菜单
    Python之运算符
    Python之字典
    Python之购物车
    Python之列表
    Python之布尔
    Python之“Hello World”
    Python之递归函数
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/15137999.html
Copyright © 2011-2022 走看看