今天遇到一个需求:在做页面输入验证的时候,如果用户没有输入某个项,那么这个项显示为红色,一直没头绪,也找peoplebook,发现field有一个style的方法,后来又在谷歌上找,终于找到了方法:  Just to check, did you include custom stylesheet in PSSTYLEDEF? That is a key step in order to use any custom style sheet in PeopleCode or anywhere in app designer. This is what I did (a similar requirement) 

1) Define custom stylesheet, background #94CFC9 
2) Include the custom stylesheet in PSSTYLEDEF (our default style for Portal) 
3) Loop in peoplecode to find difference(as you did) and that's it.

代码贴图(row的saveedit级别):

/*判断补签的时间段是否符合补签规则*/
Local datetime &PUNCH_DTTM_1;
Local datetime &PUNCH_DTTM_2;
Local datetime &PUNCH_DTTM_3;
Local datetime &PUNCH_DTTM_4;
 
Local string &KL_RPCH_FST_ST_WRK;
Local string &KL_RPCH_FST_OF_WRK;
Local string &KL_RPCH_SND_ST_WRK;
Local string &KL_RPCH_SND_OF_WRK;
Component string &SHOW_ERROR_FLAG;
 
&KL_RPCH_FST_ST_WRK_FLD = GetRow().GetRecord(Record.KL_RPNH_CRD_TBL).GetField(Field.KL_RPCH_FST_ST_WRK);
&KL_RPCH_FST_OF_WRK_FLD = GetRow().GetRecord(Record.KL_RPNH_CRD_TBL).GetField(Field.KL_RPCH_FST_OF_WRK);
&KL_RPCH_SND_ST_WRK_FLD = GetRow().GetRecord(Record.KL_RPNH_CRD_TBL).GetField(Field.KL_RPCH_SND_ST_WRK);
&KL_RPCH_SND_OF_WRK_FLD = GetRow().GetRecord(Record.KL_RPNH_CRD_TBL).GetField(Field.KL_RPCH_SND_OF_WRK);
 
&EMPLID = GetRow().KL_RPNH_CRD_TBL.EMPLID.Value;
&EFFDT = GetRow().KL_RPNH_CRD_TBL.KL_ATTENDANCE_DT.Value;
&KL_RPCH_FST_ST_WRK = GetRow().KL_RPNH_CRD_TBL.KL_RPCH_FST_ST_WRK.Value;
&KL_RPCH_FST_OF_WRK = GetRow().KL_RPNH_CRD_TBL.KL_RPCH_FST_OF_WRK.Value;
&KL_RPCH_SND_ST_WRK = GetRow().KL_RPNH_CRD_TBL.KL_RPCH_SND_ST_WRK.Value;
&KL_RPCH_SND_OF_WRK = GetRow().KL_RPNH_CRD_TBL.KL_RPCH_SND_OF_WRK.Value;
SQLExec("SELECT A.PUNCH_DTTM_1,A.PUNCH_DTTM_2,A.PUNCH_DTTM_3,A.PUNCH_DTTM_4 FROM PS_KL_ORGL_PNH_TBL A WHERE A.EMPLID = :1 AND A.KL_ATTENDANCE_DT = :2", &EMPLID, &EFFDT, &PUNCH_DTTM_1, &PUNCH_DTTM_2, &PUNCH_DTTM_3, &PUNCH_DTTM_4);
 
&KL_RPCH_FST_ST_WRK_FLD.Style = "PSEDITBOX";
&KL_RPCH_FST_OF_WRK_FLD.Style = "PSEDITBOX";
&KL_RPCH_SND_ST_WRK_FLD.Style = "PSEDITBOX";
&KL_RPCH_SND_OF_WRK_FLD.Style = "PSEDITBOX";
 
 
/*对比取补签时间段*/
If &KL_RPCH_FST_ST_WRK = "Y" And
      All(&PUNCH_DTTM_1) Then
   
   &KL_RPCH_FST_ST_WRK_FLD.Style = "PSERROR"; /*对错误的,显示红色*/
   &SHOW_ERROR_FLAG = "Y"
End-If;
 
If &KL_RPCH_FST_OF_WRK = "Y" And
      All(&PUNCH_DTTM_2) Then
   
   &KL_RPCH_FST_OF_WRK_FLD.Style = "PSERROR";
   &SHOW_ERROR_FLAG = "Y"
End-If;
 
If &KL_RPCH_SND_ST_WRK = "Y" And
      All(&PUNCH_DTTM_3) Then
   
   &KL_RPCH_SND_ST_WRK_FLD.Style = "PSERROR";
   &SHOW_ERROR_FLAG = "Y"
End-If;
 
If &KL_RPCH_SND_OF_WRK = "Y" And
      All(&PUNCH_DTTM_4) Then
   
   &KL_RPCH_SND_OF_WRK_FLD.Style = "PSERROR";
   &SHOW_ERROR_FLAG = "Y"
End-If;

理解:首先这里定义的 &KL_RPCH_SND_OF_WRK_FLD.Style = "PSERROR",它是根据page的stylesheet来的,一般来说,我们建好page之后,page的style是默认的,那个这个默认的stylesheet名称叫:PSSTYLEDEF,在ADD打开它之后,发现里面有很多样式定义,其中就有“PSERROR ”,“PSEDITBOX”的样式定义。 peoplebook:http://docs.oracle.com/cd/E13292_01/pt849pbr0/eng/psbooks/tapd/chapter.htm?File=tapd/htm/tapd17.htm

设置field的背景颜色以及对stylesheet的理解的更多相关文章

  1. iOS 设置状态栏的背景颜色

    设置状态栏的背景颜色 - (void)setStatusBarBackgroundColor:(UIColor *)color { UIView *statusBar = [[[UIApplicati ...

  2. 设置 tableview 的背景 颜色 和清空

    表示图中Cell默认是不透明的,那么在设置表示图的背景颜色和图片时通常是看不到的 1.给tableView设置背景view UIImageView *backImageView=[[UIImageVi ...

  3. linux BASH shell设置字体与背景颜色

    linux BASH shell下设置字体及背景颜色的方法. BASH shell下设置字体及背景颜色  echo -e "\e[31mtest\e[41m"  \e[30m 将字 ...

  4. VC编程中如何设置对话框的背景颜色和静态文本颜色

    晚上编一个小程序,涉及到如何设置对话框的背景颜色和静态文本颜色.这在VC6.0中本来是一句话就搞定的事.在应用程序类中的InitInstance()函数添加: //设置对话框背景和文本颜色 SetDi ...

  5. linux BASH shell下设置字体及背景颜色

    BASH shell下设置字体及背景颜色 echo -e "\e[31mtest\e[41m" \e[30m 将字符的显示颜色改为黑色 \e[31m 将字符的显示颜色改为红色 \e ...

  6. 设置 tableview 的背景颜色,总是不生效

    1.只设置了背景图片,却忘记了取消掉 cell 的背景颜色(可以通过层次结构来观察) UIImageView *bgView = [[UIImageView alloc]initWithFrame:s ...

  7. Chrome&FF&Opera&下DIV不设置高度显示背景颜色和边框的办法

    今天在排版的时候,外层的div不写高度的话背景颜色和边框没法办法显示,但是在IE下面就可以,这个有三个解决办法. 第一: 直接给最外层的div设置高度(不推荐). 第二: 在内部每个div后添加一个清 ...

  8. div没有设置高度时背景颜色不显示(浮动)

    在使用div+css进行网页布局时,如果外部div有背景颜色或者边框,而不设置其高度,在IE浏览器下显示正常.但是使用Firefox/opera浏览时却出现最外层Div的背景颜色和边框不起作用的问题. ...

  9. 学习windows编程 day3 之 设置当前的背景颜色

    LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRU ...

随机推荐

  1. 查看oracle SID

    源地址:http://blog.sina.com.cn/s/blog_5f20c4740100dodl.html SID就是数据库的实例 select instance_name from  V$in ...

  2. mysql 错误1054

    问题,当查询数据时,输入字符串是数字时,可以查询,但当输入字母字符串时却不能查询,总是提示错误1054 解决:将字符串打上单引号 字段对应的值如果为字符或字符串类型的时候,应用英文单引号括起来,你用的 ...

  3. Ulipad和有道词典冲突的问题

    Ulipad和目前版本的有道词典有冲突,表现为先开有道词典,Ulipad就无法运行. 解决方法是:找到Ulipad安装目录下的config.ini,添加以下两行:   [server] port=50 ...

  4. 《一课经济学》书摘笔记II

    假设有位制衣商了解到,有种机器可以用以往一半的人力生产男式和女式大衣.于是,他购置了这种机器,并且裁掉了一半的员工.这位制衣商由于节省开支而获得了以前没有的利润.他从制衣工人直接工资那里节省下来的每一 ...

  5. Django 的 CSRF 保护机制

    转自:http://www.cnblogs.com/lins05/archive/2012/12/02/2797996.html 用 django 有多久,我跟 csrf 这个概念打交道就有久了. 每 ...

  6. 立体匹配:关于Middlebury提供的源码的简化使用

    Middlebury提供的源码,虽然花了不到一个小时就运行起来啦.但说实话,它那循环读取脚本命令来执行算法真是让我费了不少头脑,花了近三天时间,我才弄明白了它的运行机制.你说,我就想提取一下算法,你给 ...

  7. UVA 12651 Triangles

    You will be given N points on a circle. You must write a program to determine how many distinctequil ...

  8. 如何在低api中使用View的属性设置方法如setAlpha等

    ViewPagerTransforms 是一个自定义了各种翻转效果的开源库,其中的各种PageTransformer使用了view的很多属性设置方法如DepthPageTransformer中:? p ...

  9. MatlabR2014a 安装破解详细图文教程(附下载链接(内附CVX工具箱))

    MATLAB和Mathematica.Maple并称为三大数学软件.它在数学类科技应用软件中在数值计算方面首屈一指.MATLAB可以进行矩阵运算.绘制函数和数据.实现算法.创建用户界面.连接其他编程语 ...

  10. ceph--磁盘和rbd、rados性能测试工具和方法

    我在物理机上创建了5台虚拟机,搭建了一个ceph集群,结构如图: 具体的安装步骤参考文档:http://docs.ceph.org.cn/start/ http://www.centoscn.com/ ...