Button 在datawindow中的按钮上调用事件

Button 在datawindow中的按钮上调用事件,button,datawindow,Button,Datawindow,我已经在数据窗口上放置了一个搜索按钮,并且我已经有了一个用于搜索此类列表的事件……在运行时单击按钮后如何调用事件 下面是我的事件“ue_key”的代码 字符串xcode、iseries、ycode、sql_语句、xname、i_cname、name、iseries_no、irequested_by、irequest_问题、irequesting_dept、idate_请求、idate_需要 字符串IASET_no,idate_received,istatus 长i_排 //整数 i_cname=

我已经在数据窗口上放置了一个搜索按钮,并且我已经有了一个用于搜索此类列表的事件……在运行时单击按钮后如何调用事件

下面是我的事件“ue_key”的代码

字符串xcode、iseries、ycode、sql_语句、xname、i_cname、name、iseries_no、irequested_by、irequest_问题、irequesting_dept、idate_请求、idate_需要
字符串IASET_no,idate_received,istatus
长i_排
//整数
i_cname=dw_work_order.getcolumnname()
i_row=this.getrow()
如果行>0,则
如果key=keyF2!然后我的名字是“系列号”
//打开(w_csearch)
//然后,定义select语句
sql_statement=“选择序列号作为‘序列号’、请求者作为‘请求者’从状态为‘A’或状态为‘活动’的工作订单表格中选择序列号;”
str_sellist args
args.trans=sqlca
args.sel\u cmd=sql\u语句
//指定哪列将作为返回值
args.retcol=1
//定义下拉项。注:这应与
//使用用于检索的列的别名
参数下拉菜单项[1]=“序列号”
args.dropdown_items[2]=“请求者”
//定义搜索窗口标题
args.title=“工单”
//为窗口定义事务对象
//这是目前需要的…:)
//带参数打开
OpenWithParm(w_sellist,args)
ycode=message.stringparm
xcode=ycode
//MessageBox('test',xcode)
如果修剪(xcode)'
选择序列号、请求人、请求问题、请求部门、请求日期、需要日期、资产号、状态
进入:iseries、:irequested\u by、:irequest\u problem、:irequesting\u dept、:idate\u request、:idate\u needed、:iasset\u no、:istatus
从工作订单表单,其中序列号=:使用sqlca的xcode;
//Messagebox('测试',iseries)
this.setitem(this.GETROW(),'series_no',iseries)
this.setitem(this.GETROW(),'requested_by',irequested_by)
this.setitem(this.GETROW(),'request_problem',irequest_problem)
this.setitem(this.GETROW(),“请求部门”,irequesting部门)
this.setitem(this.GETROW(),'date\u request',idate\u request)
this.setitem(this.GETROW(),'date_needed',idate_needed)
this.setitem(this.GETROW(),'asset_no',iasset_no)
this.setitem(this.GETROW(),'status',istatus)
//数据仓库工作订单检索(iseries)
如果结束
如果结束
如果结束

非常感谢

datawindow控件具有“ButtonClicking”和“ButtonClicking”事件。您可以使用这些事件来标识单击了哪个按钮(检查事件参数,特别是dwo.Name),并调用相应的代码

您需要确保datawindow按钮的操作设置为“用户定义(0)”

    string xcode, iseries, ycode, sql_statement, xname, i_cname, name, iseries_no, irequested_by, irequest_problem, irequesting_dept, idate_request, idate_needed
    string iasset_no, idate_received, istatus
    long i_row
    //integer 

    i_cname = dw_work_order.getcolumnname()
    i_row = this.getrow()
    if i_row > 0 then
        if key = keyF2! and i_cname = 'series_no' then

            //open(w_csearch)   
            //  Then, define select statement
            sql_statement = "SELECT series_no as 'Series NO', requested_by as 'Requested By' FROM work_order_form where status = 'A' or status = 'ACTIVE';"

            str_sellist args
            args.trans = sqlca
            args.sel_cmd = sql_statement

            //  Specify which column will be the return value
            args.retcol = 1

            //  Define drop-down items.  NOTE:  This should correspond
            //  with the alias you use for the columns you retrieve
            args.dropdown_items[1] = "Series NO"
            args.dropdown_items[2] = "Requested By"

            //  Define Search Window Title
            args.title = "Work Order"

            //  Define transaction object for the window
            //  This is REQUIRE for now...  :)


        //  Open with parameter
            OpenWithParm(w_sellist, args)
            ycode=message.stringparm

            xcode = ycode
        //  MessageBox('test', xcode)
            if trim(xcode) <> '' then

                    select   series_no, requested_by, request_problem, requesting_dept, date_request,date_needed, asset_no, status                                    
                    into        :iseries, :irequested_by, :irequest_problem, :irequesting_dept, :idate_request, :idate_needed, :iasset_no, :istatus
                    From work_order_form where series_no = :xcode using sqlca;


    //  Messagebox('test', iseries)
            this.setitem(THIS.GETROW(),'series_no', iseries)
            this.setitem(THIS.GETROW(),'requested_by', irequested_by)
            this.setitem(THIS.GETROW(),'request_problem', irequest_problem)
            this.setitem(THIS.GETROW(),'requesting_dept', irequesting_dept)
            this.setitem(THIS.GETROW(),'date_request', idate_request)
            this.setitem(THIS.GETROW(),'date_needed', idate_needed)
            this.setitem(THIS.GETROW(),'asset_no', iasset_no)
            this.setitem(THIS.GETROW(),'status', istatus)

    //dw_work_order.retrieve(iseries)

            end if
        end if
    end if