



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
运行时动态创建节点和绑定UI控件1. 创建一个DC工程,创建一个Web Dynpro Component2. 找到 MyComp_04View的wdDoInit()方法,添加如下代码获得wdContext节点信息 IWDNodeInfo rootInfo = wdContext.getNodeInfo();像wdContext节点下添加名称叫SalersOrders的子节点 IWDNodeInfo soNodeInfo = rootInfo.addChild( SalersOrders,元素的名称, 该名称在整个context中必须是唯一的 null,模型节点的类型,可以为空 true,模型节点的singleton属性这2个参数为Cardinality属性 false,模型节点必须保证有一个元素 true,模型节点可以有多个元素这2个参数为Selection Cardinality属性 false,选择节点必须保证有一个元素false,选择节点可以有多个元素这个参数是InitializeLeadSelection属性 true,当这个节点被选择时,是否对他初始化 null,数据类型 null, null );通过刚才创建的IWDNodeInfo创建他的属性第一个参数是属性名称,第二个参数是属性的类型注意:第二个参数可以使用java的类型,如java.lang.String,但是如果使用java类型的话就不能和View上的UI控件绑定,所以建议使用WD自带的类型,如ddic:com.sap.dictionary.stringsoNodeInfo.addAttribute(OrderNo, ddic:eger);soNodeInfo.addAttribute(SalesDate, ddic:com.sap.dictionary.date);soNodeInfo.addAttribute(SalesRep, ddic:com.sap.dictionary.string);soNodeInfo.addAttribute(LongText, ddic:com.sap.dictionary.string); 获得刚才创建的节点SalersOrders第一个参数是需要获得子节点的名称,第二个参数是获得元素的索引IWDNode soNode = wdContext.getChildNode(SalersOrders, 0);创建一个新的元素IWDNodeElement soElt = soNode.createElement();设置元素的属性值第一个参数是属性名称,第二个参数是属性值soElt.setAttributeValue(OrderNo, new Integer(100);soElt.setAttributeValue(SalesDate, new Date(System.currentTimeMillis();soElt.setAttributeValue(SalesRep, Homer Simpson);soElt.setAttributeValue(LongText, Printer Supplies);把元素添加到SalersOrders节点上soNode.addElement(soElt);3. 在wdDoModifyView()中添加如下代码firstTime是wdDoModifyVIew中传入的参数,判断是否是第一次进入这个Viewif(firstTime)获得View的根UI控件 IWDViewElement root = view.getRootElement(); IWDTransparentContainer rootView = (IWDTransparentContainer) root;设置根UI空间的Layout属性为martiixLayout rootView.createLayout(IWDMatrixLayout.class)获得context中叫SalersOrders的节点信息 IWDNodeInfo soNodeInfo = wdContext.getChildNode(SalersOrders, 0).getNodeInfo();遍历该节点下所有属性 for(Iterator it=soNodeInfo.iterateAttributes(); it.hasNext();) IWDAttributeInfo soAttrInfo = (IWDAttributeInfo) it.next(); 创建一个IWDLabel对象,也就是Label控件第一个参数是需创建的对象控件的类型,第二个参数是控件名称 IWDLabel label = (IWDLabel)view.createElement(IWDLabel.class, soAttrInfo.getName() + Label); label.createLayoutData(IWDMatrixHeadData.class); label.setText(soAttrInfo.getName(); label.setDesign(WDLabelDesign.LIGHT); label.setLabelFor(soAttrInfo.getName()+Input);将创建的label控件添加到rootView上 rootView.addChild(label); 创建一个IWDInputField对象,也就是Field控件 IWDInputField input = (IWDInputField)view.createElement(IWDInputField.class, soAttrInfo.getName()+InputField); input.createLayoutData(IWDMatrixHeadData.class);给InputField控件绑定值,这步必须否则报错 input
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年康复医疗器械市场洞察报告:需求变化与产品创新路径
- 2025年环保型电子废弃物处理技术与市场前景报告
- 2025年无人零售技术应用案例分析及市场接受度研究报告
- 2025年数字文化产业商业模式创新与数字旅游市场投资报告
- 2025年数字艺术展览虚拟现实体验区设计与运营报告
- 2025年环保产业技术创新与市场应用报告
- 云测试优化策略-洞察及研究
- 自卸出售转让合同范本
- 软件外包电子合同范本
- 活动策划签约合同范本
- 排水管道工程施工组织设计
- 客服岗位职责培训
- 高一下学期《学生宿舍卫生和内务》主题班会课件
- 露营基地管理制度调查
- 食品防护知识培训
- 格拉斯哥(GCS)昏迷评估量表(详xi操作)
- 2025年北京中考英语阅读考纲外高频词汇(复习必背)
- 电网工程设备材料信息参考价(2024年第四季度)
- 数据中心运维服务投标方案(技术标)
- 公安情报干部培训授课
- GB/T 44988-2024过程工业安全仪表系统在线监视要求
评论
0/150
提交评论