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
-
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
IanHello 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 RIf 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 prasadhi
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 replyHi,
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 problemHi 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 AMHi 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
NileshHello 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 KaurHi,
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 nodes 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
VijayaHi 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 -
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
-
Getting error while uploading data using the EXCEL( GUI_upload)
Dear Freinds, I am uploading data from my excel sheet to my Custom table . I am using the below code call function 'GUI_UPLOAD' exporting filename = l_fn filetype = 'BIN' "'ASC' has_field_separator = 'X' tables data_tab = p_i_ins_db exceptions others
-
Can't get Dish Anywhere to work on latest version of Firefox
Dish Anywhere won't work with latest version of Firefox
-
Problem with Briefing Books and iBots
I have a question about the usage of Briefing Books and iBots: In my Briefing Book there are different analysis, some with tables and others with charts and graphs. The problem is, when I send this Briefing Book to my email by iBot, then the file att
-
How do I know it is okay to disconnect my camera after downloading photos
When I download photos from my SLR to my iMac using Aperture 3.1.3 is there anything I need to do to disconnect my camera after the download? Usually there is an okay to disconnect message or button to ejec. I do not see anything on Aperature that it
-
How to start SQLPLUS in oracle 10g which install on Red Hat Linux AS 4
I install oracle 10g on Red hat linux enterprize AS 4. but i can not start SQLPLUS. I could not login to grid control. When installation, some agents installations are fail. what can i do? please help me out.