topface 工作总结

1.Dropdown的创建:
(Dropdown的创建有两类:一种是要通过数据库查询的,另一种是通过数据字典表来配的。)
第一类:要新建Dataset,包含两个字段value  lable,将这个dataset配入要创建的dropdown。
第二类:首先配置好数据字典表,将会生成一个Dataset在D盘的temp文件夹的文件中,找到这个Dataset配入要创建的dropdown。
2.同一个Field中不同 Dropdown的切换:
    inputcurrent.getItemProperty("BIZ_CTGY_CODE").setValue(null);
((TopComboBox)inputForm.getField("BIZ_CTGY_CODE"))
.setDropDownDataset(DataModuleHolder.getDataset("BIZ_CTGY_HVPS_A100Dataset"));
((TopComboBox) inputForm.getField("BIZ_CTGY_CODE")).bindProperty();

3. 总金额总笔数
SELECT CAST (OUNT (*) AS CHAR (8)) SUM_CNT,
       CAST (SUM (amount) AS CHAR (22)) SUM_AMOUNT FROM  TABLE
4.邮件地址显示在同一个field中
SELECT A.BRNO ,A.ACT_NO,B.ACT_NAME, WMSYS.WM_CONCAT(trim(A.EMAIL))  FROM TB_ACTEMAIL A LEFT JOIN tb_actinfo B ON A.ACT_NO = B.ACT_NO where 0=0^and A.ACT_NO=:X1 ^ and B.ACT_NAME LIKE '%'||:X2||'%' ^ and A.EMAIL = :X3^ GROUP BY A.BRNO, A.ACT_NO,B.ACT_NAME

5.在pkg文件中:
Output中字段的顺序要和sql语句中select ID,NAME,GENDER,BIRTHDAY,CREATETIME,SALARY  from test 的一致。并且字段的id要和view中查询结果所在的dataset的字段的id一致。字段的类型和数据库中的类型一致,decimal的长度+2。
Input中字段都被包括在【BIND】标签中,和查询条件中的字段一一对应,而且它的个数一定要和数据库参数个数一致(和X1、X2、X3…个数)并且顺序相同长度一致。这里有一个地方是特殊的,即数据库中的字段是DECIMAL类型。
6. 输入之后将操作员代码转换成小写在前台显示
public void valueChange(ValueChangeEvent event) {
    Object audit_code = event.getProperty().getValue();
    String str3=audit_code.toString().toLowerCase();
    System.out.println(str3);
    Audit_codeEditor.setValue(str3);
}
});
7.获得一个页面中的Field的方法有两种,但两种又有区别。
   Form.getFeild(“money”).getValue();        =¥9999
   Dataset.getCurrentValue(“money”);        =9999
在设置.Readonly()等时是一样的。
8.输入后转小写在前台显示
Audit_codeEditor.addListener(new Property.ValueChangeListener() {
// valueChange事件,
// 输入之后将操作员代码转换成小写在前台显示
public void valueChange(ValueChangeEvent event) {
    Object audit_code = event.getProperty().getValue();

    String str3=audit_code.toString().toLowerCase();

    Audit_codeEditor.setValue(str3);
}

});

9.判断listDs中数据个数
  if(listDs.getRecords().size()==0){
// alertWindows("查询无记录");
AuditBtn.setEnabled(false);
RejectBtn.setEnabled(false);
}

if(listDs.getTotalCount()==0){

AuditBtn.setEnabled(false);
RejectBtn.setEnabled(false);
}
else{
AuditBtn.setEnabled(true);
RejectBtn.setEnabled(true);
}
10. 据绝按钮提示事件


// 拒绝按钮事件
rejectBtn.addListener(new TopButton.ClickListener() {

public void buttonClick(ClickEvent clickevent) {
TopConfirmWindow RejectBtnconfirm = new TopConfirmWindow("", "是否确认拒绝",
new TopConfirmWindow.Callback(){
public boolean onCancel() {
return true; // 返回true,将关闭提示框

}
public boolean onOk() {
resultDs.setCurrentValue("CHECK_FLAG", 1);
getCommand("SRCmd").execute();
getCommand("queryCmd").execute();
// }
return true; // 返回false,将阻止提示框关闭
}
});
RejectBtnconfirm.show(Page3008.this.getMainWindow());
11.新增事件,Dataset.insert();   dataset中insertenmpty  设置为true。
12.判断comand执行是否成功

if (!getCommand("SRCmd").execute().get("SRCmdItem")
.hasException()) {
getControl("detailWindow", TopWindow.class).close();//执行成功,关闭子页面
//
} else {
//
}


13. //设置交易日期为大额系统日期
ViewDataset current = this.getDataset("queryDs");
String md_hvdate = (String)UserContextHolder.getContext().getSys("HVPS_DATE");//获得大额系统日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); //将String类型转换为Date类型
java.util.Date cDate = null;
try{
cDate = sdf.parse(md_hvdate);
}catch (java.text.ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
current.setCurrentValue("WORKDATE",cDate);
}

14.关闭按钮返回主界面



private TopButton CloseBtn;

CloseBtn = this.getControl("CloseBtn", TopButton.class);









CloseBtn.addListener(new TopButton.ClickListener() {

public void buttonClick(ClickEvent clickevent) {



   String welcomePageview = ApplicationBootstrap.WELCOME_PAGEVIEW;
if (welcomePageview != null && !"".equals(welcomePageview.trim())) {
try {
getApplication().renderPageView((Class<? extends PageView>) Class.forName(welcomePageview));
return;
} catch (ClassNotFoundException e) {

}
}
getApplication().renderPageView(Welcome.class);


}
});




15.查询条件  忽略大小写



TO_MULTI_BYTE(lower(rtrim(T.EN_NAME))) like '%'|| TO_MULTI_BYTE(lower(rtrim('leo'))) || '%'^


TO_MULTI_BYTE(lower(rtrim(T.EN_NAME)))=TO_MULTI_BYTE(lower(rtrim(:x1)))^

16.  .view文件自动编译

修改application.property

topface.upload.file.path=D\:\\temp\\



topface.view.dir=D:\\workspace\\CNAPS2\\web\\WEB-INF\\classes


17.pkg注意

6-12:字段的顺序要和sql语句中select ID,NAME,GENDER,BIRTHDAY,CREATETIME,SALARY  from test 的一致。
并且字段的id要和view中查询结果所在的dataset的字段的id一致。字段的类型和数据库中的类型一致,decimal的长度+2



3.4.5都被包括在【BIND】标签中,和查询条件中的字段一一对应,而且它的个数一定要和数据库参数
个数一致(和X1、X2、X3…个数)并且顺序相同长度一致。这里有一个地方是特殊的,即数据库中的字段是DECIMAL类型。




做事细心,发现问题,要竭尽所能尽力解决,不能拖。
问题要解决与早!

猜你喜欢

转载自deng-dell.iteye.com/blog/1937996