WDA基础 视图间的跳转

这个例子是这样的,在第一个VIEW里面选一个航线代码查询,在第二个VIEW页面显示出明细来,效果如下:

VIEW1:

VIEW2: 

 

WDA中视图跳转是通过ACTION 去触发的,和J2EE中的Struts2框架类似,是通过Action去触发的,不只是跳转视图,大部分功能都是通过Action去触发的

程序框架是这样的,右键点击去创建

 给导向里面添加目标视图,在窗口->视图->右击创建导航链接

 定义好了导航之后,在V_MAIN中绘制如下LAYOUT,将标签拖进去就可以,拖拽时鼠标箭头一定要放在绿色的虚线框内才可以,如果拖拽不成功右击ROOTUIELEMENTCONTAINER也可以

 然后选中查询按钮,为查询按钮设置ACTION,中有双击进去设置的action编写逻辑

 设置一个全局的内表

 在V_MAIN的CONTEXT里面声明一个表类型的node 和一个 Attribute(记录屏幕输入的CARRID)

 将P_CARRID绑定到INPUT_FIELD上面,SuggestValues打钩

 接下来设置V_MAIN,现在CONTEXT声明一个表类型的NODE,将他与全局的内表关联

V_MAIN里面LAYOUT放置一个表控件,将声明的内表与表控件绑定(右击TABILE控件-> Create Binding),设置back按钮用于返回(设置ACTION,自动会生成代码) 

 前期工作都做好了,接下来该添加代码了,在查询按钮的ACTION里面添加,先读取INPUT的value

 整体代码调整

METHOD ONACTIONSEARCH .
  DATA LO_EL_CONTEXT TYPE REF TO IF_WD_CONTEXT_ELEMENT.
  DATA LS_CONTEXT  TYPE WD_THIS->ELEMENT_CONTEXT.
  DATA LV_P_CARRID TYPE WD_THIS->ELEMENT_CONTEXT-P_CARRID.

* get element via lead selection
  LO_EL_CONTEXT = WD_CONTEXT->GET_ELEMENT( ).
* @TODO handle not set lead selection
  IF LO_EL_CONTEXT IS INITIAL.
  ENDIF.

* get single attribute
  LO_EL_CONTEXT->GET_ATTRIBUTE(
    EXPORTING
      NAME =  `P_CARRID`
    IMPORTING
      VALUE = LV_P_CARRID ).

  DATA LO_ND_GT_VIEW1 TYPE REF TO IF_WD_CONTEXT_NODE.

  DATA LT_GT_VIEW1 TYPE WD_THIS->ELEMENTS_GT_VIEW1.

* navigate from <CONTEXT> to <GT_VIEW1> via lead selection
  LO_ND_GT_VIEW1 = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_GT_VIEW1 ).

  SELECT *
    FROM SPFLI
    INTO CORRESPONDING FIELDS OF TABLE LT_GT_VIEW1[]
   WHERE CARRID = LV_P_CARRID.

*
  LO_ND_GT_VIEW1->BIND_TABLE( NEW_ITEMS = LT_GT_VIEW1 SET_INITIAL_ELEMENTS = ABAP_TRUE ).


  WD_THIS->FIRE_TO_VMAIN_PLG(
  ).
ENDMETHOD.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gong JX

多谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值