Drop down by index  in table cell

Hello
I need for one column in table to have a drop down.
I have the the following context:
node: Zsi_Profile_TyperdvZish_Available_Timeslots_S_Rfc
subnode: X
value attribute in subnode X: a
Node X is singelton = false, selection: 0-1.
I am defined a drop down by index for one column and I want the data to come from node It_Rnpb2.
The code:
for (int i = 0; i< wdContext.nodeZsi_Profile_TyperdvZish_Available_Timeslots_S_Rfc().size();i++)
wdContext.nodeZsi_Profile_TyperdvZish_Available_Timeslots_S_Rfc().getElementAt(i);
for (int j = 0;j< wdThis.wdGetRendezVousCustomController().wdGetContext().nodeIt_Rnpb2().size();j++)
wdContext.nodeX().addElement(wdContext.createXElement());
wdContext.currentXElement().setA(wdThis.wdGetRendezVousCustomController().wdGetContext().nodeIt_Rnpb2().getIt_Rnpb2ElementAt(j).getOrgid());
The result is: for first table line a drop down with few empty lines and one of the line with the last value from It_Rnpb2, and for the other table lines drop downs just with an empty line.
How can I fix this?
Thank you

Let me change those ugly node names into shorter ones and use an array containing the drop-down items for each row. I think you get the idea.
Table data source node: "Rows"
Non-singleton child node "Items", cardinality 0:N, with attribute "Text".
String TEXTS[][] with TEXT[r][j] = text of item j in row r
/* foreach row in table */
for (int r = 0; r < wdContext.nodeRows().size(); ++r)
  IRowsElement row = wdContext.nodeRows().getRowsElementAt(r);
  /* foreach drop-down list item */
  for (int j = 0; j < TEXTS[r].length; ++j)
    /* create item */
    IItemsElement item = row.nodeItems().createItemsElement();
    row.nodeItems().addElement(item);
    /* set item text */
    item.setText(TEXTS[r][j]);
I typed this code from memory so there might be minor errors.
Armin

Similar Messages

  • Drop Down by Index in Table

    Hi
    I wish to have a drop down by index field in my table but only in certain cells in one particular row.
    Once the value has been chosen I wish to then colour the two cells above the drop down.
    Is this possible?
    Regards
    Ian

    Hello Ian,
    if the coloring was you only requirement, then there won't be a different between the ALV and the standard table in terms of coding. So this requirement should make the difference. Using ALV vs. standard table is usually decided on additional factors, like if users would like to use the additional options provided by ALV.
    Best regards,
    Thomas

  • Populate Values for Drop Down by Index in Table in Web Dynpro Java

    Hi Experts,
    I have a table and having a column table cell editor as Drop Down by Index.
    I have created the table node (tbnode) and child node for DDBI (ddbinode) and set the singleton property for DDBI node to false.
    I have same local variable node as same as above node and the values are available.
    I have one button ADD.On click the add button i need to populate the values to table node and as well as DDBI Node.
    I created supply function for DDBI node and populate the values for DDBI Node.
    Add Method:
    IPrivateMdTest8CompView.ItbnodeElement tbnode = wdContext.nodetbnode().createtbnodeElement();
    tbnode.setDescription(wdContext.currentCn_LocalVariableElement().getDescription);
    wdContext.nodetbnode().addElement(tbnode);
    Supply Function Method:
    for(int j=0;j<wdContext.nodetbnode().size();j++)
    wdContext.nodeddbinode().setLeadSelection(j);
    IPrivateMdTest8CompView.IddbinodeElement ddbinode = wdContext.nodeddbinode().createddbinodeElement();
    ddbinode.setddvalue(wdContext.currentCn_localddvalueElement().getddvalue);
    wdContext.nodeddbinode().addElement(ddbinode);
    Problem is one i got the values in the drop down and i click the second row in table again the supply function calls and reset the first row drop down to original value.
    If you any problem like please provide the solution.
    Thanks & Regards,
    SatheshKumar R

    If you created the supply method by setting the supply property of the node, you should have variable 'node' available as argument of the supply method, which will be related to the table row of the triggered dropdown. Opening the dropdown does not change the lead selection of the parent node, so
    ddbinode = wdContext.nodeddbinode().createddbinodeElement();
    wdContext.nodeddbinode().addElement(ddbinode);
    does always relate to the first row of the table (given that leadSelection == 0). With the node variable you can
    IddbinodeElement ddbiElement = node.createddbinodeElement();
    node.addElement(ddbiElement);

  • How to grab the value from a drop down list inside a table cell

    Hello,
    My situation is I have a few columns displayed in a table format using repeater tag. Some cells is a dropdown list(<netui:select /> tag). My question is how can I grab the value when user made a selection.
    I believe I can get the row index but I can't use the datasource attribute to get the user selection since it is in a repeater. All the cell use the same datasource and workshop will give "NULL" value when there are more than one tag bind to the same form valiable.
    Any suggestion are very much appreciated! Thanks a lot in advance.
    My snippet code are:
    <netui-data:repeater dataSource="{pageFlow.ownedTask}"><netui-data:repeaterHeader></netui-data:repeaterHeader>
    <tr valign="top">
    <td><netui:select dataSource="{actionForm.userName}" optionsDataSource="{pageFlow.nameList}" onChange="getUser()" ></netui:select>
    </td>
    <td><netui:select dataSource="{actionForm.empDept}" optionsDataSource="{pageFlow.deptList}" onChange="getSelectedDept()" ></netui:select>
    </td>
    <td><netui:label value="{container.item.status}" />
    </td>
    </tr>
    </netui-data:repeaterItem>
    <netui-data:repeaterFooter></netui-data:repeaterFooter>
    </netui-data:repeater>

    1) let drop down box be g_dd.
      if g_dd is initial.
      g_dd = option2.
      endif.
    2)
    by default same pf-status is used by all the screens in the same program
    if sy-dynnr = 'screen_no'. " for screens for which you do not want button to come
    set pf-status 'abc' excluding 'fcode_of_button'
    endif.
    or
    data: git_fcode type sy-ucomm with header line.
    git_fcode = 'fcode_of_button'.
    append git_fcode.
    if sy-dynnr = 'screen_no'. " for screens for which you do not want button to come
    set pf-status excluding git_fcode
    endif.
    Edited by: Amit Gupta on Oct 11, 2008 11:36 AM

  • Populating drop down list in a table cell-urgent

    Hi all
    I have a problem. I want to populate a dropdown list in a table cell. can anybody tell me the step by step procedure for that.
    I am doing it generally. not using R/3
    I am creating sub node like u have mentioned. I haven't done it using wizard.
    Is there any difference in the way we populate this list?
    My root node is expense. Inside that some value attributes are there. For the drop down list i've created a sub node 'extype'.
    I am getting error.
    it is:
    com.sap.tc.webdynpro.progmodel.context.ContextException: Node(EREmpHomeView.expense.extype): cannot bind or add elements because the node has no valid parent
    Following is the code i've written.
    IPrivateEREmpHomeView.IExtypeElement el;
              IPrivateEREmpHomeView.IExtypeNode nd=wdContext.nodeExpense().nodeExtype();
              el=wdContext.nodeExpense().nodeExtype().createExtypeElement();
              el.setEtype("Travel");
              nd.addElement(el);
    Sill i'm getting the same error
    Hi Nidhideep
    Error has gone with the code that Mr Anil has given. But there is no value in the List. Dropdown list is coming as a blank list.
    Thanks and Regards
    Aparnna
    Message was edited by:
            aparnna prasad

    hi
    Aparna try this code:
    1. Context description at design time:
    Value-Node "myNode", collection type=list, cardinality=0..n, selection=0..n
    and the attribute:
    Value attributes “myValue”, type="String".
    2. The corresponding Java source code example that you create in the wdDoInit method of the controller implementation:
    // The ISimpleTypeModifiable interface enables access to
    //a data type instance that can be modified at runtime:
    ISimpleTypeModifiable myType =
       wdThis.wdGetAPI().getContext.getModifiableTypeOf(“.myNode.myValue”);
    //Sets the label text for this data type.
    myType.setFieldLabel(“New label”)
    //Sets the valid values of this data type. The individual elements are inserted
    //when the put method is called and
    //and the value set is filled with the appropriate
    //key value pair.
    IModifiableSimpleValueSet values =
       getSVService().myType.getModifiableValueSet();
    values.put(“key_1”,”Mister”);
    values.put(“key_2”,”Mistress”);
    values.put(“key_3”,”Miss”);
    Regards
    Nidhideep

  • Subject: Drop Down By index Vs Key

    Question: I have domain with Fixed value and i want the drop down in webdynpro screen to pick  the domain value automatically
    what type of drop down should be used and can you differentiate the two types
    kindly reply

    Hi,
    You should use drop down by key in order to select the domain value automatically.
    Map your contxt attribute as a selected key property of the UI element property.
    Diff. b/w the two avalable types:
    For drop Down by index, You need to build the value table to the node intially and an intial value will be space by default.
    For drop Down by key: you have val-nam pair i.e if you can decide to display domain value or description.
    Hope this  may be helpful.
    Thank you
    Depeshl

  • Default value in the drop down by index

    Hi Experts,
    I have a drop down by index to which i binded one internal table,but m not able to get the default value
    i want the first value to be selected in the drop down by default,Pls give me suggestion for solving this problem

    Hi Shan,
    As per your requirement,When ur binding the internal table to the  drop down by index ,but your are not able to get the default value.
    For this please check this code.
    In this I hv taken a node - dropdown1 and within this attribute of type Land1 and I hv set the cardinality to 0..n.
    Then I hv bind the text property of the dropdownbyidx ui element to the node attribute.
    then i hv call this code in the init method of view.
    DATA lo_nd_dropdown1 TYPE REF TO if_wd_context_node.
      DATA lo_el_dropdown1 TYPE REF TO if_wd_context_element.
      DATA lt_dropdown1 TYPE wd_this->elements_dropdown1.
      DATA ls_dropdown1 LIKE LINE OF lt_dropdown1.
      navigate from <CONTEXT> to <DROPDOWN1> via lead selection
      lo_nd_dropdown1 = wd_context->get_child_node( name = wd_this->wdctx_dropdown1 ).
      @TODO handle not set lead selection
      IF lo_nd_dropdown1 IS INITIAL.
      ENDIF.
      get all declared attributes
      lo_nd_dropdown1->get_static_attributes_table(
        IMPORTING
          table = lt_dropdown1 ).
      SELECT land1 FROM t005 INTO CORRESPONDING FIELDS OF TABLE lt_dropdown1.
      CALL METHOD lo_nd_dropdown1->bind_table
        EXPORTING
          new_items            = lt_dropdown1
          set_initial_elements = abap_true .
    Regards
    Manoj Kumar

  • DROP Down By Index in Webdynpro ABAP

    Hi,
    I 've a small doubt in Drop down by Index in ABAP-Webdynpro
    I have two Dropdown, In first dropdown i have few Departmnet name for EX:- Dept1 , dept2 etc..
    based upon DEPT from first drop down i need to get  the employee deails in second dropdown.
    scenario:-
                          if i will chosse dept1 in first dropdown in second dropdown dept1 employee should populate
                         iif i will chosse dept2  in first dropdown in second dropdown dept2 employee should populate
    Thanks...
    Edited by: Rakshar on Sep 12, 2011 7:30 AM

    Hi Rakshar,
    1.  Add an onSelect event to the Dropdown 1.
    2.  In the event handler get the the selected value of Dropdown 1 from the context of the same. Based on the selected value, retrieve the data to be displayed in Dropdown 2 ( for example data from a table)
    3.  Invalidate the context for Dropdown 2
    4.  Bind the data retrieved from table to the context for Dropdown 2 by using method BIND_TABLE
    Let me know if you face any difficulty.
    Regards,
    Arpan

  • Drop Down BY Index Vs Drop Down By Key

    What is the difference between Drop Down By Index & Drop Down By Key.
    How Do we retrive What value is selected in a drop down
    regards
    Nilesh

    Hello Nilesh,
    //Create ISimpleTypeModifiable to fill the dropdownbox
    //XXX is your Desc field
                    IWDAttributeInfo soAttribInfo= wdContext.getNodeInfo().getAttribute("XXX");
                    ISimpleTypeModifiable soType = soAttribInfo.getModifiableSimpleType();
                    soType.setFieldLabel("XXXX");
                    IModifiableSimpleValueSet soSet= soType.getSVServices().getModifiableSimpleValueSet();
                    soSet.clear();
                    //To Get desc and key from web services you pass some information to the run the given Webservice do it here
                    wdContext.currentRequest_XXXViDocument_getDescnKeyArrayElement().setInfo(infonr);
                    wdThis.wdGetXXXController().getDescObjects();
                    int size = wdContext.nodeResult_getDescObjectsArray().size();
                    if (size != 0)
                         //Filling the desc in the dropdownbykey field
                         for (int i=0; i<wdContext.nodeResult_getDescObjectsArray().size(); i++ )
                              IPrivateXXView.IResult_getDescObjectsArrayElement soElement =
                                  wdContext.nodeResult_getDescObjectsArray().getResult_getDescObjectsArrayElementAt(i);
                               soSet.put(soElement.getkey(),
                              soElement.getDesc().trim() + " " + soElement.getkey().trim() );
    Implement this code for populating the drowdown when that works I can tell you the next step.
    Good Luck,
    Dharmi

  • In Drop Down by Index how can i pass default value Dynamically

    Hi Friends,
    In Drop Down by Index how can i pass default value Dynamically.Please help me.
    Thanks in advance.
    Regards,
    Kumar.

    hi,
    if you want the value to be defaulted only the first time you execute the program then write the code which suman has mentioned in the views method
    wddoinit.
    Regards
    Sajid

  • How to hard code values in drop down by index

    Hi everyone
    I hav a node containing 2 attributes ie value n key. I am using drop down by index.  Value attribute is bound to my drop dwn box. In key I am providing key value for the value.  I need to hard code 3 value..Can anyone help me how to do so.
    Thanks
    Jaspreet Kaur

    Hi,
    Example for Data Binding of the DropDownByIndex UI Element:
    Procedure at design time:
           1.      Create a view with the name TestView.
           2.      Insert the DropDownByIndex UI element as a container child of the TestView view. (Step 1)
           3.      Create the context structure, as described in step 2.
    Create the context node X with the cardinality 0..n. Insert the value attribute y of the type String into this node. Then perform the data binding of the DropDownByIndex UI element in the Properties window of the View Designer. The texts property must be bound to the value attribute y with the context path description TestView.X.y (step 3).
    The context path TestView.X.y describes the attribute y in the context node X of the view context of the TestView view.
    You can fill the context with test data using the following controller implementation.
    public void wdDoInit()
        //@@begin wdDoInit()
       String[] letters = new String []
       {"A", "B", "C", "D"};
    //Create context elements for the node "X"
       List nodeElements = new ArrayList();
       for (int i =  0; i <letters.length; ++i)
          IPrivateTestView.IXElement xElement = wdContext.createXElement();
          xElement.setY(letters<i>);
          nodeElements.add(xElement);
    //Bind node element list to the node
       wdContext.nodeX().bind(nodeElements);
    //Set node’s lead selection which determines the selected item
       wdContext.nodeX().setLeadSelection(1);
        //@@end
    Regards
    Ayyapparaj

  • How can I add values on a Drop Down by Index Webdynpro Element?

    Hi every body
    Can anybody help me?
    How can I add values on a Drop Down by Index Webdynpro Element?
    How can I invoque my element on the Implementation Webdynpro?

    Hi Jesus,
    You can add elements to your DDbyIndex like this:
    //Example: Popular un Dropdown by Index usando Nodos de contexto  
    // NODE[Card: 1..n, Sele:1..1]  Si es obligatorio;            ||    NODE[Card: 0..n, Sele:0..1]  Si no es obligatorio y se puede dejar en blanco
    //Assuming we created a node called "Source", with a string attribute called "Texto" binded to the dropdownbyindex
    for (int i = 1; i <= 101; i++)
         ISourceElement sourceElement = wdContext.createSourceElement();
           sourceElement.setTexto("Text number "+i);
           wdContext.nodeSource().addElement(sourceElement);
    Regards.
    Julio Herrera

  • How can I add values on a Drop Down by Index Webdynpro Element by a Model?

    How can I add values on a Drop Down by Index Webdynpro Element with a Model RFC?

    Hi Jesus,
    Please use the below code for DropDownByIndex Elements :-
    Suppose you have model node ABC and attribute xyz. Now you have created custom node CustNode and attribute CustAtt.
    ICustNodeElement  ele = null;
    if(wdContext.nodeABC().size > 0)
                  for(int i=0; i< CustNode< wdContext.nodeABC().size; i++
         ele = wdContext. createCustNode();
                          ele.setCustAtt(wdContext.nodeABC().getABCElementAt(i).getXYZ)
         wdContext.nodeCustNode.add(ele);
    Refer to http://help.sap.com/saphelp_nw70/helpdata/en/3b/f1754276e4c153e10000000a1550b0/frameset.htm
    Best Regards
    Arun Jaiswal

  • How to capture selected value from drop down by index

    Dear friends,
    i want to capture the value of select value from drop down by index, for eg if  select air france, how to capture , could any one please let me know
    Thanks
    Vijaya

    Hi Vijaya,
    You can get the value of selected from drop down as below
    Check out the event handler method attached to Onselect event of the ui element drop down by index , if no event is associated, then create an event and attach to the drop down list
    Now you will be having the CONTEXT_ELEMENT in the WDEVENT parameter
                   data lo_element type ref to if_wd_context_element.
                   lo_element = wdevent->get_context_element( name = 'CONTEXT_ELEMENT').
    Now, you can get the static attribute value of selected  drop down value & let us say your drop down list values are populated from context node 'ND_DRP_DOWN'
                   data ls_data type wd_this->element_nd_drp_down.
                             lo_element->get_static_attributes(
                                       importing
                                       static_attributes = ls_data ).
    Hope this helps you.
    Regards,
    Rama

  • Drop Down By Index

    Hi Gurus,
    I've one problem with the Drop Down By Index in the WEBDYNPRO JAVA.
    I'm filling the Drop Down By Index from the node based on some condition.
    Based upon the condition the node has only one record.
    After adding the node data to my drop down by index i'm getting the data but the problem is i'm getting two rows in the drop down by index.
    First one is Empty string and the second is the actual value.
    I've written some logic on the "onselectionchange" of the Drop Down By Index.
    There if i select the empty string i'm getting the following error
    "java.lang.NullPointerException "
    How to resolve this issue.
    Thanks in advance.
    Regards,
    Adi.

    Hi Guru's,
    One more problem...
    The solution is working fine for removing the Empty row from the drop down by index, but when i select some thing in the dropdown box it is always pointing to the First row only???
    Why it is behaving like that??/
    Thanks in adavance.
    Regards,
    Adi

Maybe you are looking for