Skip to content

Commit 1646f3e

Browse files
committed
update struc comp binding
1 parent 7d1f391 commit 1646f3e

File tree

3 files changed

+116
-1
lines changed

3 files changed

+116
-1
lines changed

src/z2ui5_cl_demo_app_000.clas.abap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ CLASS z2ui5_cl_demo_app_000 IMPLEMENTATION.
104104
panel->generic_tile(
105105
header = 'Binding II'
106106
subheader = 'Structure Component Level'
107-
press = client->_event( 'z2ui5_cl_demo_app_144' )
107+
press = client->_event( 'z2ui5_cl_demo_app_166' )
108108
mode = 'LineMode'
109109
class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom'
110110
).
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
CLASS z2ui5_cl_demo_app_166 DEFINITION
2+
PUBLIC
3+
CREATE PUBLIC .
4+
5+
PUBLIC SECTION.
6+
7+
INTERFACES z2ui5_if_app.
8+
9+
TYPES:
10+
BEGIN OF ty_row,
11+
title TYPE string,
12+
value TYPE string,
13+
END OF ty_row .
14+
15+
DATA t_tab TYPE STANDARD TABLE OF ty_row WITH EMPTY KEY .
16+
DATA check_initialized TYPE abap_bool.
17+
DATA client TYPE REF TO z2ui5_if_client.
18+
METHODS set_view.
19+
20+
PROTECTED SECTION.
21+
PRIVATE SECTION.
22+
ENDCLASS.
23+
24+
25+
26+
CLASS z2ui5_cl_demo_app_166 IMPLEMENTATION.
27+
28+
29+
METHOD set_view.
30+
31+
DATA(view) = z2ui5_cl_xml_view=>factory( ).
32+
DATA(page) = view->shell(
33+
)->page(
34+
title = 'abap2UI5 - Binding Cell Level'
35+
navbuttonpress = client->_event( 'BACK' )
36+
shownavbutton = abap_true
37+
)->header_content(
38+
)->link(
39+
text = 'Source_Code' target = '_blank'
40+
href = z2ui5_cl_demo_utility=>factory( client )->app_get_url_source_code( )
41+
)->get_parent( ).
42+
43+
44+
LOOP AT t_tab REFERENCE INTO DATA(lr_row).
45+
DATA(lv_tabix) = sy-tabix.
46+
page->input( value = client->_bind_edit( val = lr_row->title tab = t_tab tab_index = lv_tabix ) ).
47+
page->input( value = client->_bind_edit( val = lr_row->value tab = t_tab tab_index = lv_tabix ) ).
48+
ENDLOOP.
49+
50+
DATA(tab) = page->table(
51+
items = client->_bind_edit( t_tab )
52+
mode = 'MultiSelect'
53+
)->header_toolbar(
54+
)->overflow_toolbar(
55+
)->title( 'title of the table'
56+
)->get_parent( )->get_parent(
57+
)->columns(
58+
)->column( )->text( 'Title' )->get_parent(
59+
)->column( )->text( 'Value' )->get_parent( )->get_parent(
60+
)->items( )->column_list_item( selected = '{SELKZ}'
61+
)->cells(
62+
)->input( value = '{TITLE}'
63+
)->input( value = '{VALUE}' ).
64+
65+
page->input( value = client->_bind_edit( val = t_tab[ 1 ]-title tab = t_tab tab_index = 1 ) ).
66+
page->input( value = client->_bind_edit( val = t_tab[ 1 ]-value tab = t_tab tab_index = 1 ) ).
67+
page->input( value = client->_bind_edit( val = t_tab[ 2 ]-title tab = t_tab tab_index = 2 ) ).
68+
page->input( value = client->_bind_edit( val = t_tab[ 2 ]-value tab = t_tab tab_index = 2 ) ).
69+
70+
client->view_display( view->stringify( ) ).
71+
72+
ENDMETHOD.
73+
74+
75+
METHOD z2ui5_if_app~main.
76+
77+
me->client = client.
78+
79+
IF check_initialized = abap_false.
80+
check_initialized = abap_true.
81+
82+
DO 1 TIMES.
83+
t_tab = VALUE #( BASE t_tab
84+
( title = 'entry 01' value = 'red' )
85+
( title = 'entry 02' value = 'blue' ) ).
86+
ENDDO.
87+
set_view( ).
88+
ENDIF.
89+
90+
CASE client->get( )-event.
91+
WHEN 'BACK'.
92+
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
93+
94+
ENDCASE.
95+
96+
client->view_model_update( ).
97+
98+
ENDMETHOD.
99+
ENDCLASS.

src/z2ui5_cl_demo_app_166.clas.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<VSEOCLASS>
6+
<CLSNAME>Z2UI5_CL_DEMO_APP_166</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>binding - struc component level</DESCRIPT>
9+
<STATE>1</STATE>
10+
<CLSCCINCL>X</CLSCCINCL>
11+
<FIXPT>X</FIXPT>
12+
<UNICODE>X</UNICODE>
13+
</VSEOCLASS>
14+
</asx:values>
15+
</asx:abap>
16+
</abapGit>

0 commit comments

Comments
 (0)