谷歌云_网站建设商城_返现

资讯 虚拟云 浏览

小编:如果您完成了本系列的第1部分和第2部分(HCM流程和表单:带FPM表/列表的CRUD–第1部分:基础和标准事件以及HCM流程和表单:带FPM表/列表的CRUD–第2部分:高级操作),那么您现在应该

如果您完成了本系列的第1部分和第2部分(HCM流程和表单:带FPM表/列表的CRUD–第1部分:基础和标准事件以及HCM流程和表单:带FPM表/列表的CRUD–第2部分:高级操作),那么您现在应该比FPM表/列表更强大了。掌握了触发和捕捉"事件"以及在需要时操纵数据集信息以匹配所说的"事件"之后,您应该能够轻松地看到这一点,并知道如何在您自己的通用服务中实现它:

您还应该有一种"想要更多"的感觉……如何共享您的代码?……如何使其更具可扩展性?…如何使它在所有使用表组件的流程中可重用?……噢,老实说……你真的想知道"我怎样才能让我的生活/工作更轻松,这样我就可以在很短的时间内轻松制作出一些复杂的桌子,这样我就可以吃更长的午餐或提前一个小时回家?"嗯……你来对地方了!因为本系列的"第3部分"将向您展示如何轻松地"升级游戏",以便您真正掌握HCM P&F FPM表单列表UIBBs!(天哪,那一串缩写词!哈哈。

正如我在上一篇博客(本系列第2部分)中提到的,我喜欢为我的HCM P&F项目的所有"公共"代码创建一个自定义类。我的"common"类(我可能有一天会与大家分享)有一些方法,用于读取/设置数据集值、获取字段计数、读取进程容器、阅读注释、创建"help"值列表、公共验证等等。这还包括如何"捕捉"FPM事件和相关信息。这是处理窗体行为的

键。

同样,如果我们处理添加和删除行的方式在所有进程中保持一致,对我们来说会更好。为了加强这一点,我们可以在我们自己的自定义类中创建方法来处理向传递给我们的数据集添加或删除行的操作。

如果您想得比我早一点,您的第一个问题可能是"Chris,如果一个方法不知道表中的列,并且你编写它来处理某些列,那么你怎么能编写一个方法来添加一行呢?这不就降低了它的灵活性/抽象性吗好吧,我很高兴你这么问……因为我自己在计划这件事的时候也面临同样的问题。但是我想我找到了一个非常简单的解决方案,它在所有情况下都很适合我…..我只需将我的"列结构/定义/布局"传递给方法

在方法调用中,

…您会注意到"I\u TABLE\u COLUMNS"。这是我在泛型服务中创建的一个自定义公共类型,

,我可以引用它,

然后在调用"add row"之前,在泛型服务中的某个时候,我只定义了我的表列是什么:

所以现在,为了向表中添加行,我确切地知道了列(表单字段)的名称。您还将注意到,我也可以为我的条目传递一个"默认值"(或将其留空)。

最后,您可能会注意到方法参数"IO\u SELECTED\u INDEX"。这是一个"可选导入"参数(因此前缀为"io"),允许我们在特定索引处添加新行(很像我们在第1部分中讨论的"标准"添加行功能)。

现在开始代码!!!(*我总是把它当作一个图像,这样会激怒那些"剪切粘贴"的程序员..理解代码比复制代码更好!)代码注释得很好,希望能帮助您更容易地理解…

所以现在,我们可以添加一行,在特定索引处添加一行,如果需要,还可以在新行中设置默认值…所有这些都来自一个非常方便、易于使用的公共方法!

正如我们在上一系列(第2部分)中所解释的,表行上的"read"是非常直接的,因为我们知道选择了哪一行(从我们常用的FPM"get event"方法),所以我们知道要使用的索引,以便读取行中每个字段的行。例如,它可以是这样的:

读取表服务数据集分配

关键字fieldgroup='FG\u 01'fieldname='MY\u COLUMN1\u LIN'fieldindex=l\u selected\u index.

读取表服务数据集分配

关键字fieldgroup='FG\u 01'fieldname='MY\u COLUMN2\u LIN'fieldindex=l_selected_index.

正如我前面提到的,我的"common"类甚至有一个"read dataset field"方法,使这个过程更加简单。我将把"如何"部分留给您,因为它非常简单(传递字段名、组和索引…返回值)。

如果您想控制更新一行中的条目,通常最简单的方法是根据需要打开它们进行输入。可能行中的某些字段应该打开,而某些字段不应该打开。设置要使用的控件类型时,可以在流体中设置这些控件。然而,如果其中一些将"依赖"(即动态)呢?与"添加行"类似,您可以检测选择了哪一行并相应地读取值。然后,正如我在博客中提到的(HCM进程和表单:通过暴力控制FPM表单表!(哈哈),可以设置单元格级的UI属性。最后我要补充的是,对于我的表行字段,我总是添加一个隐藏列(线型表单字段),我称之为"IsDirty?"。如果用户更改了一个字段或者我检测到"新值不等于旧值",我就可以设置该字段(例如,百度云分销,"COL\u IS\u DIRTY"="X")。这可以在"规则"或您自己的高级通用服务中使用,以了解哪些行确实需要更新,哪些不需要更新(未做任何更改)。

与"添加行"类似,我有一个常见的"从数据集删除"方法。

当前网址:http://vmchk.cooou.com/webdesign/105209.html

 
你可能喜欢的: