当建立一个Webdynpro的组件的时候,我们首先在ComponentController中建立CONTEXT的Nodes及Attribute,以便被VIEW使用,在程序中可以通过如何的方式访问节点和属性了:
首先,WD_CONTEXT是CONTEXT的实例对象,可以通过它访问下面的节点:
DATA: NODE_NAME TYPE REF TO IF_WD_CONTEXT_NODE.
NODE_NAME = WD_CONTEXT->GET_CHILD_NODE(NAME = '结点名称').
IF_WD_CONTEXT_NODE是结点接口,它具有结点的访问方法和属性的能力,下面是几个常用的方法:
1.可以访问结点下的ELEMENT:
DATA: ELEMENT_NAME TYPE REF TO IF_WD_CONTEXT_ELEMENT.
ELEMENT_NAME = NODE_NAME->GET_ELEMENT( ).
2.可以访问该结点的相关INFO:
DATA : NODE_INFO TYPE REF TO IF_WD_CONTEXT_NODE_INFO.
NODE_INFO = NODE_NAME->GET_NODE_INFO( ).
3.可以得到结点下的属性值
NODE_NAME->GET_ATTRIBUTE (EXPORTING NAME = ''
IMPROTING VALUE = ).
4.在结点下绑定表
NODE_NAME->BING_TABLE(EXPORTING NEW_ITEMS = '').
5.得到结口的属性:
NODE_NAME->GET_STATIC_ATTRIBUTES( EXPORTING INDEX = ''
IMPORTING STATIC_ATTRIBUTES = aaa).
IMPORTING的变量可以通过IF_COMPONTCONTROLLER=>ELEMENT_<ELEMENT名称>的类型被使用,(data:aaa type IF_COMPONTCONTROLLER=>ELEMENT_<ELEMENT名称>.)IF_COMPONTCONTROLLER是controller对应的接口,它在建立controller的时候会自动生成。
然后是IF_WD_CONTEXT_ELEMENT 的应用:
通过NODE得到一个ELEMENT的实例对象ELEMENT_NAME,可以通过这个对象对VIEW的context操作,从而读取,修改和更新VIEW邦定的UI ELEMENTS:
1.读取view的NODE属性:
ELEMENT_NAME->GET_ATTRIBUTE(EXPORTING NAME = ''
IMPORTING VALUE = ).
2.修改view的NODE属性:
ELEMENT_NAME->SET_ATTRIBUTE(EXPOTING NAME = ''
VALUE = ).
首先,WD_CONTEXT是CONTEXT的实例对象,可以通过它访问下面的节点:
DATA: NODE_NAME TYPE REF TO IF_WD_CONTEXT_NODE.
NODE_NAME = WD_CONTEXT->GET_CHILD_NODE(NAME = '结点名称').
IF_WD_CONTEXT_NODE是结点接口,它具有结点的访问方法和属性的能力,下面是几个常用的方法:
1.可以访问结点下的ELEMENT:
DATA: ELEMENT_NAME TYPE REF TO IF_WD_CONTEXT_ELEMENT.
ELEMENT_NAME = NODE_NAME->GET_ELEMENT( ).
2.可以访问该结点的相关INFO:
DATA : NODE_INFO TYPE REF TO IF_WD_CONTEXT_NODE_INFO.
NODE_INFO = NODE_NAME->GET_NODE_INFO( ).
3.可以得到结点下的属性值
NODE_NAME->GET_ATTRIBUTE (EXPORTING NAME = ''
IMPROTING VALUE = ).
4.在结点下绑定表
NODE_NAME->BING_TABLE(EXPORTING NEW_ITEMS = '').
5.得到结口的属性:
NODE_NAME->GET_STATIC_ATTRIBUTES( EXPORTING INDEX = ''
IMPORTING STATIC_ATTRIBUTES = aaa).
IMPORTING的变量可以通过IF_COMPONTCONTROLLER=>ELEMENT_<ELEMENT名称>的类型被使用,(data:aaa type IF_COMPONTCONTROLLER=>ELEMENT_<ELEMENT名称>.)IF_COMPONTCONTROLLER是controller对应的接口,它在建立controller的时候会自动生成。
然后是IF_WD_CONTEXT_ELEMENT 的应用:
通过NODE得到一个ELEMENT的实例对象ELEMENT_NAME,可以通过这个对象对VIEW的context操作,从而读取,修改和更新VIEW邦定的UI ELEMENTS:
1.读取view的NODE属性:
ELEMENT_NAME->GET_ATTRIBUTE(EXPORTING NAME = ''
IMPORTING VALUE = ).
2.修改view的NODE属性:
ELEMENT_NAME->SET_ATTRIBUTE(EXPOTING NAME = ''
VALUE = ).