Name:元素名称
Caption:界面上显示的名称
Display Type:TEXTBOX,LISTBOX,CHECKBOX,LINK,BUTTON等 Data Type属性:元素显示的数据类型,如日期,字符串等
注意:
Query FindDeposit() As %Query(ROWSPEC =
\ing\中的ROWSPEC中的Tprtdate,Tprttime等不一定是组件上的元素名称,是返回界面的值
OutputRow中的
set Data=$lb(prtdate,prttime,papname,papno,payamt)
$lb内的是要输出的值,这些变量的位置要和ROWSPEC内的变量相对应, 这样,才能在Table的相应的列对应的显示内容
组件的属性:连接Class和Query名称(在修改时要先把组件的显示类型修改成除Custom之外的类型才能修改)
组件的类型是:修改后组件的显示类型修改成Custom
如果是带参数的查询程序,则相应的参数为组件上的元素,那么在点击查 找的时候会自动传入参数;
4.组件程序的开发(以押金收据购入程序) 1).放大镜,不带参数,带有参数 组件元素为:Custom Item 元素的LookUp如下图所示
放大镜要显示的内容写成Query
LookupClassName:要调用的类的名称 LookupQueryName:要调用的Query名称
LookupProperties:传入的参数,如果没有入参则为空,参数为组件上元 素的名称
LookupJsFunction:js文件里调用的js函数
2).js文件创建,js文件的调用;
创建的js文件的名称必须要和对应的组件的名称一致
如果js文件里调用其他js文件里的函数,则要在组件的OtherScript里 把js文件的名称添加进来,就可以调用里面的函数了
3).前端页面元素调用后台的classmethod的方法; 前端页面调用后台的类方法是通过函数js函数里调用 cspRunServerMethod(参数1,参数2,参数3.。。。)来实现 参数1为固定参数,传入的值为要调用的后台的类方法
那么入参的获取是通过组件上的某个元素来获得的
如组件UDHCJFRcptBuy中的添加按钮,是通过调用元素ins1来获取后台要执行的方法(ValueGet)
4).执行后台的classmethod之后接收返回结果的两种方法;
1.直接通过cspRunServerMethod(参数1,参数2,参数3.。。。)返回结 果,可以定义变量直接接收返回结果;如果采用此方式,要求 Classmethod的q 后面返回变量 Var Returnvalue
Returnvalue= cspRunServerMethod(参数1,参数2,参数3.。。。)
2.通过cspRunServerMethod(参数1,参数2,参数3.。。。)里的某个参 数接收返回值,如可以利用参数2接收后台的返回值
如接收返回值的参数的名称为GetReturnValue,那么在传入参数的时 候要传到后台cspRunServerMethod(参数1,GetReturnValue,参数 3.。。。)
在class端,GetReturnValue已经传入,那么通过
S retval= GetReturnValue _\_$ZCVT(返回值,\,\)_\ &javascript<#(retval)#>,通过javascript把结果返回页面
在js文件里有个函数名称为GetReturnValue(value),接收返回值括号 内的value就是返回值,然后可以根据需求对返回值做相应处理
6).SelectRowHandler的用途;(周一) 可以获取Table的行数和当前选中的记录的行 可以选中某个记录,获取选中记录的各元素的值 获取到选中的行
var eSrc=window.event.srcElement; var rowObj=getRow(eSrc);
var selectrow=rowObj.rowIndex; 获取Table的记录数
var objtbl=document.getElementById('tUDHCJFRcptBuy'); var rows=objtbl.rows.length;
获取Table上某一行的某个元素的值
var SelRowObj=document.getElementById('Tbuyrowidz'+selectrow); var buyrowid=SelRowObj.innerText;
其中Tbuyrowid为元素的名称,z要加到元素名称的后面,selectrow为 行号;
如果是显示的列则用SelRowObj.innerText; 如果是隐藏的列则用SelRowObj.Value
7).Link
LinkUrl:websys.default.csp(在输入组件名称时会自动输入) LinkComponent:要Link的组件的名称
LinkExpression:要传入到所Link的组件的名称
如果要在新的窗体中打开组件:
在General页签处,设置新打开窗体的大小
ShowInNewWindow:top=30,height=650,left=8,width=1000
8).按钮中打开新的组件 var
str='websys.default.csp?WEBSYS.TCOMPONENT=UDHCJFDeposit&Adm='+Adm+'&deposittype='+t['01']
window.open(str,'_blank','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes,width=1000,height=700,left=0,top=0') }
9).Message的定义
在组件属性的Message页签,定义Code,Description 在js文件里调用时用t[‘Code’],获取Description