zoukankan      html  css  js  c++  java
  • 为uniDBGrid设置文字操作栏

    为uniDBGrid设置文字操作栏,如下图的效果,用户点击审核,执行审核代码,点退回,执行退回代码:

    对于Web应用界面,这是最常见的方式,那对于我等Delphi开发者来说,基于uniGUI该怎么实现呢?

    首先,为uniDBGrid准备“操作”这一栏的显示内容,具体说,在数据集中准备好显示的数据。

    我是为数据集加了一列,叫operation。

    然后在operation的TField.OnGetText中返回显示的数据:

    <a class="btnopbtn" style="color: #148a14" onclick="ajaxRequest(O430,'audit',['id=C42EBDFDDA9B4526B67EECE72FD7AF5F']);">审核</a><a class="btnopbtn" style="color: #f94936" onclick="ajaxRequest(O430,'unaudit',['id=C42EBDFDDA9B4526B67EECE72FD7AF5F']);">退回</a>

    对应的Delphi代码:

    procedure TCustomBillBrowserFrame.OperationFieldGetText(Sender: TField; var Text: string; DisplayText: Boolean);
    begin
      inherited;
      Text:= '<a class="btnopbtn" style="color: #148a14" onclick="ajaxRequest('+UniDBGrid1.JSName+',' +
             QuotedStr('audit')+',[''id='+Sender.DataSet.FieldByName('fid').AsString+''']);">'+'审核</a>|' +
             '<a class="btnopbtn" style="color: #f94936" onclick="ajaxRequest('+UniDBGrid1.JSName+',' +
             QuotedStr('unaudit')+',[''id='+Sender.DataSet.FieldByName('fid').AsString+''']);">'+'退回</a>';
    
    end;

    要说明的是:

    1.ajaxRequest会触发对应控件的OnAjaxEvent事件

    2.具体是哪一个控件呢,由ajaxRequest的第一个参数决定,那这里我们要写成UniDBGrid1.JSName

    3.第二个audit:对应EventName,第三个参数对应Params,参考下面的代码:

    procedure TCustomBillBrowserFrame.UniDBGrid1AjaxEvent(Sender: TComponent;
        EventName: string; Params: TUniStrings);
    begin
      inherited;
    //
    end;

    明白上面的原理,可以直接看下面的实际代码了:

    procedure TAudit2YmJHSBFrame.UniDBGrid1AjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings);
    var
      id: string;
    begin
      inherited;
      // uniSession.Log('EventName='+EventName);
      if EventName = 'audit' then
      begin
        id := Params['id'].AsString;
        //执行审核操作的代码,这里省了...
      end;
      if EventName = 'unaudit' then
      begin
        id := Params['id'].AsString;
        //执行退回操作的代码,这里省了
      end;
    
    end;

    上面内容是汗血宝宝教我的,感谢他无私的指导!

  • 相关阅读:
    Java实现 计蒜客 拯救行动
    Java实现 计蒜客 拯救行动
    Java实现 LeetCode 174 地下城游戏
    Java实现 LeetCode 174 地下城游戏
    Java实现 LeetCode 174 地下城游戏
    Java实现 LeetCode 173 二叉搜索树迭代器
    Java实现 LeetCode 173 二叉搜索树迭代器
    Visual Studio的SDK配置
    怎样使用CMenu类
    mfc menu用法一
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/15117185.html
Copyright © 2011-2022 走看看