又是很长时间的停更。其实这段时间一直有用APEX开发各种小应用。包括给部门做了几个工作流应用,还抽空帮媳妇做了一个销售管理系统。在开发过程中碰到了一些问题(或是一些坑)。后来都解决了。本应该及时把这些技巧记录下来。只是啊,人老了,记性就不好了,人也懒了,也喜欢拖拖拉拉了。趁着脑子还好使,把能想起来的,赶紧写下来。跟大家分享一下。大家要有什么压箱底的技巧,也欢迎告诉我,我好整理汇总,分享给更多的朋友。
图片的引用
有时候我们希望在APEX页面添加一些图片。要做到这个其实只要做简单的两步。
第一步:把照片上传存放到共享组件->静态应用程序文件里。然后要记住引用的位置。

第二步:就是把照片的引用放到所需的页面里。

或者可以直接在编辑应用程序定义->应用程序图标里用来改掉登陆界面的图标。

不过别忘了下载并修改app-icon.css里面的图标文件,并上传覆盖原来的。

又或者可以直接在共享组件->用户界面里用来改掉收藏夹的图标。

文件的上传和下载
如果想把文件保存在数据库里,并且可以正确下载。光有BLOB字段是不行的。还需要有字段记录文件的MIME类型,文件名,字符集(可选)。如果是图片的话以上三个类型可不需要。我们先建一个表如下。其中MIMETYPE字段不能太短,建议不少于100。

创建表单的时候BLOB项的设置。

创建交互表时候BLOB列的设置。

设置正确的话,下载的文件名能够正确显示。

如设置不正确的话,下载的文件名会显示不正确。

中文拼音排序
APEX里对中文的排序不友好,不是按照我们习惯的拼音来排序的。其实不是APEX的问题,是Oracle数据库的问题。这个可用用NLSSORT函数来解决。
order by nlssort ("列名",'NLS_SORT = SCHINESE_PINYIN_M')
按条件查询小技巧
很多时候,第一次打开页面的时候会做全表查询,然后再输入查询条件进行模糊查询。可以创建一文本字段项(例如P6_SEARCH)。在查询语句里加入以下的这段查询条件。然后做一个动态操作刷新查询。
where :P6_SEARCH is null or CUSTOMER_NAME like '%'||:P6_SEARCH||'%'
加快数据加载的速度
在共享组件->数据加载定义里对打开“跳过验证”的开关。

用CSS设置交互报表的列宽
第一步,先在当前页面的属性里编辑加个CSS的定义。

第二步,在你要改列宽的字段的属性里做个描述。

用这种方法,可以在page的属性的CSS inline定义多个width的属性,然后使用到不同的列上。
好了,今天先分享这些小技巧。
===== End =====
更多Oracle APEX的知识和技巧,请猛戳下面二维码持续关注微信公众号“APEX中文社区”和“徐大爷的学习笔记”。
APEX中文社区

徐大爷的学习笔记





