IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> RockWell FTPC]对象介绍_Form_ObjectBinderEnhanced对象 -> 正文阅读

[C++知识库]RockWell FTPC]对象介绍_Form_ObjectBinderEnhanced对象

ObjectBinderEnhanced介绍

ObjectBinderEnhanced控件是ObjectBinder控件的增强版本。
与ObjectBinder控件一样,它允许您将objecttype绑定到一组控件,并选择每个控件将显示的属性。
可以使用它将以下控件绑定到对象:
?ComboBox
?DateTimePicker
?Edit
?Grid
?HTML
?Label
?ListBox
?PropertyPane
?SmartEdit
?TaskPane

此外,ObjectBinderEnhanced控件是双向的。对象绑定器捕获用户何时更改绑定控件中显示的数据并更新对象。
但是,这些更改不是自动保存的。必须使用脚本保存任何更改。
ObjectBinderEnhancedcontrol还可以使用数据字典进行验证和本地化。
设置ObjectBinderEnhanced控件时,请记住,某些类型的属性必须指定给特定类型的控件。
例如,combobox、grid和listbox控件只能指定集合(向量或对象数组)。
如果为控件指定不适当的属性,可能会得到一些意外的结果。
此外,如果更改绑定控件的名称,则必须打开ObjectBinderEnhancedcontrol并对其进行更新。
ObjectBinderEnhancedcontrol不会自动将绑定控件更改为新名称。
ObjectBinderEnhancedcontrol 对象属性如下:
在这里插入图片描述

ObjectBinderEnhanced的使用

如果要将数据字典与ObjectBinderEnhanced控件一起使用,请确保已创建并配置数据字典类及其关联的消息对象。有关更多信息,请参阅创建数据字典。

要设置ObjectBinderEnhanced控件,请执行以下操作:
如果要将数据字典与ObjectBinderEnhanced控件一起使用,请确保已创建并配置数据字典类及其关联的消息对象。有关更多信息,请参阅创建数据字典。

要设置ObjectBinderEnhanced控件,请执行以下操作:

1.将ObjectBinderEnhanced控件以及要绑定到其上的任何控件放置到窗体上。

2.定义控件的以下属性:

?boundClassType:选择将绑定到ObjectBinderEnhancedcontrol的对象类型。如果选择未定义数据字典类的boundClassType,并将useDataDictionary设置为true,则Process Designer将自动为您创建数据字典类。

?alternativeBoundClassType:此属性定义绑定到ObjectBinderEnhancedcontrol的自定义类类型。输入完全限定的类路径。例如,com.customer.customclass。

如果boundClassType属性定义为Other,则必须设置此属性。如果boundClassType属性设置为除其他之外的任何值,则此属性可以保留为空。

其他属性在Form Control-Object Binder Enhanced中的表中进行了描述,但您必须设置类类型才能继续执行将对象属性绑定到FormControl的以下步骤。

3.单击“自定义程序”按钮将控件绑定到对象的属性。将打开“自定义程序”对话框。
在这里插入图片描述
a、 使用对话框顶部的下拉菜单,通过选择以下选项之一定义过滤器。列出的属性将取决于所选控件:
b、 单击[Add]添加新绑定。

c、 对于controlName,选择要绑定到对象的窗体控件的名称。例如,checkBox1。

d、 对于controlProperty,选择要绑定到对象的窗体控件的属性。例如,checked。

e、 对于propertyName,选择要在绑定表单控件中显示的对象的属性。例如,passwordModifiable (对于用户对象)。如果要将整个对象绑定到控件,请选择Bean。例如,使用property pane,必须绑定整个对象。

f、 对于propertyArgument,如果需要,请为检索propertyName的方法输入参数。要查找相应的方法,请参阅ProcessDesigner API帮助。例如,如果选择UDA作为propertyName,则必须提供参数。例如,您可以提供命名的UDA,Item_1。

g、 对于propertyValue,选择对象的数据字典属性。仅当Object BinderEnhanced控件的useDataDictionary设置为true时,此列才会显示。默认值是value。

h、 如果要添加更多绑定,请单击[add]或[copy]。要删除绑定,请在表中选择它,然后单击[remove]。

i、 要关闭对话框,请单击[确定]。
如果在创建绑定后更改boundClassType属性,则系统将检查新绑定类是否存在为绑定选择的propertyName。如果是,则objectbinding保持不变。如果没有,则在“自定义程序”对话框中清除适用行的propertyName。如果移除或重命名绑定控件,则该控件的行的controlName和controlProperty将被清除。

要在脚本中使用控件,请执行以下操作:

1.使用脚本将正确的对象传递给ObjectBinderEnhanced控件。以下示例从数据库检索lallen用户并将其设置为objectBinderEnhanced1控件。将显示绑定到窗体上控件的所有属性。然后将对象设置为表单属性,以便以后可以轻松检索和保存。

objUser = getUser("lallen")

objectBinderEnhanced1.setPropertyObject(objUser)

setFormProperty("bound_user", objUser)

2.若要保存用户对对象所做的更改,请检索该对象,然后调用其保存方法。以下示例显示如何从上面使用的表单属性检索用户对象,然后进行保存。

objUser = getFormProperty("bound_user")
resp = objUser.save()
checkAndDisplayResponse(resp)

使用ObjectBinderEnhanced和smartEdit

尽管可以单独使用smart edit控件,但将其与增强的对象绑定器和数据字典结合使用可以显著减少应用程序开发人员编写脚本的工作量。
不能将智能编辑控件直接链接到数据字典,但可以将其链接到使用数据字典的对象绑定器增强控件。
下表显示了智能编辑控件的示例,这些控件由从数据字典检索的信息进行标记和填充。此表单具有以下相关控件:
?one DsGrid control
?one Object Binder Enhanced control
?four Smart Edit controls

此示例还使用名为MESFloatPropertyEditor和MESChoicelistPropertyEditor的自定义属性编辑器,它们是使用库对象导入Process Designer的。

此示例使用数据字典对象定义对象的UDA属性。但是,您也可以在实例级别定义任何对象属性,并使用增强的对象绑定器映射到该特定实例。
如果要映射到特定对象,请将增强型对象绑定器的useDataDictionary属性设置为false。
在这里插入图片描述

默认情况下,智能编辑控件根据在编辑框中输入的值使用适当的属性编辑器。但是,您可以选择替代此功能并定义自己的特性编辑器。
您可以通过以下方式执行此操作:

?使用SmartEditControl API定义自定义编辑器。
使用setAlternativeEditorSupportClass(String alternativeEditorClass)方法,
其中alternativeEditorClass是可选编辑器的完全限定类名。这将覆盖所有其他属性编辑器配置。
?在数据字典对象中,定义数据字典元素的自定义编辑器属性,然后使用对象绑定器增强控件将元素绑定到smartEdit。
?将智能编辑控件的editorSupportClass属性设置为Other,然后定义alternativeEditorSupportClass属性。
仅当editorSupportClass属性设置为“其他”时,才使用alternativeEditorSupportClass属性。
如果editorSupportClass属性设置为除“其他”以外的任何其他属性,则alternativeEditorSupportClass属性可以保留为空。

在本例中,自定义特性编辑器由数据字典元素Bodyheight(即smartEdit3)和Family status (即smartEdit4)智能编辑控件定义。
用户数据字典类的以下数据字典元素配置如下:
?UDA_X_bodyHeight:必须是浮点值(custom editor =com.company.mes.clientfw.pmc.impl.property.editor.MESFloatPropertyEditor)
?UDA_X_familyStatus:仅从提供的下拉菜单中获取值(custom editor =com.company.mes.clientfw.pmc.impl.property.editor.MESChoicelistPropertyEditor)
此配置将限制可在Body height 和 Family status 智能编辑框中输入的值的类型。有关配置数据字典元素的信息,请参见创建数据字典。
在这里插入图片描述

增强型对象绑定器的boundClassType属性设置为User,其useDataDictionary属性设置为true

smartEdit控件的labelText属性由相应的数据字典元素定义。
定义smartEdit控件的属性编辑器的属性将因smartEdit控件将使用的属性编辑器而异。
在下面的示例中,
smartEdit1和smartEdit2控件使用smartEdit控件的指定属性编辑器。
smartEdit3和smartEdit4控件使用由数据字典定义的自定义属性编辑器。
?对于smartEdit1和smartEdit2控件,将controlProperty设置为value以使用smartEdit控件的指定属性编辑器。
?如果要使用由数据字典定义的自定义属性编辑器,请按以下顺序为smartEdit3和smartEdit4控件设置:
1.propertyDescriptor
2.alternativeEditorSupportClass
3.valueOnly

仅当自定义特性编辑器由数据字典定义时,才需要定义这三个特性。
在这里插入图片描述

选择网格中的一行后,如果为所选用户对象定义了相应的属性(即firstName、lastName、X_bodyHeight UDA和X_familyStatus UDA),则会填充智能编辑框。
网格行双击下的以下代码定义了其信息将用于填充智能编辑框的用户:
//Get the user information

objUser = grid1.getSelectedRowObject()

setFormProperty(“selectedObject”, objUser)

//Define the object that the enhanced object binder will use to populate the smart edit boxes

objectBinderEnhanced1.setPropertyObject(objUser)

如果未定义相应属性的值,则可以在编辑框中输入值。可以输入的值由“ objectBinderEnhanced ”配置定义。

?您可以为“First name ”和“ Last name”智能编辑框输入任何值,因为smartEdit控件将为您提供适当的属性编辑器。
?在“Body height”和“ Family status”智能编辑框中输入的值受数据字典中定义的自定义编辑器的限制。
“Body height”智能编辑框将仅采用浮点值。它将不允许您输入字母。
可以为“ Family status”智能编辑框定义的唯一值是可以从提供的下拉菜单中选择的值。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-30 11:45:05  更:2021-09-30 11:47:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:12:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码