创建数据实用程序 (步骤 3)
概述
有哪些不同点?
• 您呈现的是可更改项 (即部件、文档) 表格中的一列,其表示关联可更改项与更改对象的二进制链接的值。
• 该值必须保留在以下任意两项之间:
◦ 超出页面限制分页
◦ 排序表格
◦ 更改表格视图 (可能甚至不会显示列或行!)
◦ 在表格中新增和移除。
• 类 ChangeLinkAttributeDataUtility 具有许多帮助程序方法,并提供了有用的自定义点来协助处理上述情况。
• 为提高性能,使用 ChangeLinkAttributeDataUtility 将缓存方法请求的链接,从而可以有效地处理多个属性。
过程
以下是创建工作更改链接属性数据实用程序所需注意的要点:
1. 扩展类 ChangeLinkAttributeDataUtility。
2. 覆盖方法 createGuiComponent(String id,Object datum,ChangeLinkAttributeBean linkBean);。ChangeLinkAttributeBean 是专用的 bean 类,可用于管理请求中的链接。
3. 使用 linkBean.getObjectReference(datum) 从基准获取可更改的 ObjectReference (标准化表格的参考类型)。
4. 利用 getGUIComponentId(component_id, wtreference) 根据以下参数为 GuiComponent 生成 id:
◦ component_id:在 createGuiComponent 方法中由参数 id 返回的组件 id。
◦ wtreference:与对象类型 ChangeRecord2 关联的可更改对象的参考。
例如,如果组件 id 为 distributionList,则 getGUIComponentId 方法将返回值:VR:wt.part.WTPart:67429#distributionList。
5. 将 GuiComponent 的名称和 id 设置为上述步骤中生成的值。
6. 对于就地编辑字段,调用 super.setEventListener(component,linkBean); 来设置监听程序,以复制该组件的已编辑值 onBlur。
7. 覆盖 retrieveValue(String id, BinaryLinklink); 以从链接中提取属性值 (对于“视图”和初始“编辑”组件模式)。
8. 使用 retrieveValue( ) 获取当前值
9. 覆盖 ProcessExistingLinks(NmOid oid,String componentId) 将链接加载到 dataUtility 中。
10. 注册已创建的自定义数据实用程序。