cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

inputfield and iterator

Former Member
0 Likes
654

Hi group!!

I'm using a table view with iterator. In this tableview i have a different checkboxes and a inputfield.

With the checkboxes i don't have problems becuase i can use de event on click and save the modified data, but with the inputfield i have a big problem.

The inputfield only appears in some cases (this is correct) but i don't know how to save the data introduced in the inputfield .

I created the inputfield like this:

p_replacement_bee = cl_htmlb_inputfield=>factory(

id = p_cell_id

disabled = lv_disable

MAXLENGTH = '12'

size = '12'

WIDTH = '80'

value = m_row_ref->reference

type = 'STRING'

TOOLTIP = 'IReference' ).

And when I press some of the other checkboxes the data disappear and i don't know what to do to save the data,

Thanks in advance!

View Entire Topic
Former Member
0 Likes

Thanks Patrick, but..

My inputfield is in one cell is a tableview

<htmlb:tableView id = "cl"

design = "STANDARD"

noMatchText = "No data"

showNoMatchText = "TRUE"

fillUpEmptyRows = "false"

selectionMode = "singleselect"

table = "<%= t_lines %>"

iterator = "<%= iterator %>" >

</htmlb:tableView>

This input field only appears in some rows using iterator (if not appears blank cell)

In IF_HTMLB_TABLEVIEW_ITERATOR~RENDER_CELL_START

WHEN 'REFERENCE'.

IF m_row_ref->LEVEL = c_nivell3.

p_replacement_bee = cl_htmlb_inputfield=>factory(

id = p_cell_id

disabled = lv_disable

MAXLENGTH = '12'

size = '12'

WIDTH = '80'

value = m_row_ref->referencE

type = 'STRING'

cellvalue = 'TRUE' ).

ELSE.

nbsp_bee->add( html = '&nbsp' ).

p_replacement_bee = nbsp_bee.

ENDIF.

I don't know how to reciver the data entered in one of this cells without force usaer to press enter, because if write when the cells appear no event is raised when you finish and then if you click in one of the other cells the iterator creates again the input field.

Thanks in advance for all!!

Former Member
0 Likes

Hi,

what about some additional html:


    data: event_html type string,
            input          type ref to cl_htmlb_inputfield,
            bee_table   type ref to cl_bsp_bee_table.

input = cl_htmlb_inputfield=>factory(
id = p_cell_id
disabled = lv_disable
MAXLENGTH = '12'
size = '12'
WIDTH = '80'
value = m_row_ref->referencE
type = 'STRING'
cellvalue = 'TRUE' ).

      event_html = cl_htmlb_manager=>render_event_call(
                  bsp_element          = inputfield
                  event_type           = htmlb_events=>inputfield_submitted
                  server_event         = 'VALUECHANGED'
                  return_value         = 'FALSE'
                  client_event         = ''
                  client_event_inlined = '' ).

    concatenate
     `<script language="JavaScript">`
     `function fire_VALUECHANGED(){`
            event_html
     `}`
     `</script>`
     `<script for="`
     p_cell_id
     `" event="onchange" type="text/javascript">`
     fire_VALUECHANGED();`
     `</script>`
     into event_html.

create object bee_table.
bee_table->add_element( bee = input level =1 ).
bee_table->add_html( html = event_html level = 1).

p_replacement_bee ?= bee_table.

Hope it works - not possiblities test this at the moment.

Regards,

Sebastian