Binding UI element in a table
Hi
I have a table UI based on a context mapped to Adaptive RFC Model.
I would like to add another column with buttons and to be able to manipulate their 'enable' property based on values in the table.
I created new context node with attribute value of type Boolean and bind the button's property to it. This context node is filled before the table is displayed.
Well, this doesn't work.
Does anyone have better idea???
Thanks, Nachshon.
Hi Valery
Thanks for the prompt replay.
I tried your suggestion but it is impossible to add a value attribute (nor model attribute) to the model node, I get:
"Adding attributes is currently not supported if the node or the model class (for context model nodes) has a dictionary structure binding."
Or did I misunderstood???
Nachshon
Similar Messages
-
How to bind an element in an arrayList to a table column
Hi everyone, I need your help.
I have an ObjectListDataProvider to bind a class MyClass to a table. Inside of MyClass, there is a property called dynNumOfElements of type ArrayList. I need dynamically create the columns of the table to match the number of elements in ArrayList, and bind each element in the ArrayList to a column.
However I dont know how to do it? It is going to be something like createValueBinding("#{currentRow.value(['dynNumOfElements[1]']}"). Obviously this does not work.
Can you tell me a way to solve this problem?
Is it possible to bind a column to an element in a collection?
Thanks in advanceThanks Winston,
Following is what I did. They are all in Page1.jsp
public String getMyData(){
// Make sure to check for nulls
return myList.get(count++).toString();
private ArrayList myList = new ArrayList();
private int count = 0;
public String button3_action() {
// TODO: Replace with your code
//initialize list
myList.add("string 1");
myList.add("Stirng 2");
myList.add("string 3");
TableColumn tc1 = new TableColumn();
tc1.setId("tc1");
tc1.setHeaderText("tc1");
tableRowGroup2.getChildren().add(tc1);
StaticText st1 = new StaticText();
st1.setValueBinding("text", getApplication().createValueBinding("#{Page1.myData}"));
tc1.getChildren().add(st1);
return null;
The error message is "Error getting property 'getMyData' from bean of type helloweb.Page1"
Can you help me to fix the problem? Thanks a lot. -
How to insert a text edit UI element in a table
hi all,
I want a text edit UI element in a table .I do not want input field because text entered can be very long and whole text cant be seen then.Is there any way to increase the width of input field if i insert an input field ? or what can be other solution for this?Hi Govind,
You can't insert Text Edit as a cell variant in table. But you can increase the 'Width' property of Input Field, say to 500px or as per your requirement, so that you can display the full text at one go. Or you can bind the 'Width' property to a context and set the width at run time as per the text length.
Thanks,
Sumit -
How to bind a icon in the table column
Hi All
I have to bind a icon in a table column.Choose a table cell editor for that column that is able to display an icon, e.g. Caption, Image, LinkToAction
Create a context attribute "iconURL" under the data source node of the table.
Bind the corresponding property of the table cell editor, e.g. Image.source, to this attribute.
At runtime, the data source node will have elements. Element at index i will be displayed in table row i.
Set the "iconURL" attribute of each node element to the icon URL to be displayed in the table row.
You can use the predefined icons by using an URL of the form "~sapicons/<icon_filename>", or you can put your icons inside folder src/mimes/components/<componentName> and use the filename as URL.
Armin -
How to bind dynamic checkbox to a table
Hi,
I have a table that holds many fields. I put these fields on the screen dynamically.
I would like to bind a checkbox to select a field row.
I tried to bind the checkbox to the table but with no success. I keep getting the binding to the first element.
Does anyone has an example?
Thanks,
ItayHi P,
here is my code:
LOOP AT lt_available_items ASSIGNING <item>.
ADD 1 TO lv_col.
IF lv_col > lv_cell_per_col.
lv_col = 1.
ADD 1 TO lv_row.
lv_new_line = 'X'.
ENDIF.
* Add dynamic group
CONCATENATE 'GROUP_' lv_col '_' lv_row INTO lv_str.
lr_new_group = cl_wd_group=>new_group( id = lv_str view = view design = '02' ).
IF lv_new_line = 'X'.
CLEAR lv_new_line.
cl_wd_matrix_head_data=>new_matrix_head_data( element = lr_new_group ).
ELSE.
cl_wd_matrix_data=>new_matrix_data( element = lr_new_group ).
ENDIF.
lr_new_group->set_width( '230' ).
cl_wd_matrix_layout=>new_matrix_layout( container = lr_new_group ).
lr_group->add_child( lr_new_group ).
* Left side container
CONCATENATE 'CONT_L_' lv_col '_' lv_row INTO lv_str.
lr_new_container = cl_wd_transparent_container=>new_transparent_container(
id = lv_str view = view ).
cl_wd_matrix_head_data=>new_matrix_head_data( element = lr_new_container ).
cl_wd_matrix_layout=>new_matrix_layout( container = lr_new_container ).
lr_new_group->add_child( lr_new_container ).
* Add checkbox
CONCATENATE 'CHK_' lv_col '_' lv_row INTO lv_str.
lr_checkbox = cl_wd_checkbox=>new_checkbox( view = view
id = lv_str ).
lr_matrix_head = cl_wd_matrix_head_data=>new_matrix_head_data( element = lr_checkbox ).
lr_checkbox->set_layout_data( lr_matrix_head ).
lr_checkbox->bind_checked( 'AVAILBLE_ITEMS.SELECTED' ).
lr_new_container->add_child( lr_checkbox ).
endloop.
my node is AVAILABLE_ITEMS and it has the attributes: SELECTED, MATNR, MAKTX...
thanks,
Itay -
Get selected elements from a table
Hi all,
I have a requirement like i m enhancing standard component in that i have added one button on click of that i want fetch the selected line item from the table ( which is a normal table). selection mode is auto.
i tried with the following code.
DATA:lr_element TYPE REF TO if_wd_context_element,
lv_index TYPE i.
*--Get selected element
lr_element = wdevent->get_context_element( name = 'CONTEXT_ELEMENT' ).
****Here itself its throughing dump because lr_element is initial***************
*--get selected element index.
lv_index = lr_element->get_index( ).
can any one help me what is the wrong.. else suggest me how to get the selected elements from a table....
Thanks in advance.*--Get selected element
lr_element = wdevent->get_context_element( name = 'CONTEXT_ELEMENT' ).
if lr_element is bound.
lv_index = lr_element->get_index( ).
endif.
Instead you can directly read the node if that row is a lead selected one.
lo_node = wd_context->get_child_node( name = 'EMP' ). "Emp is node name
lo_ele = lo_node->get_lead_selection( ).
or
lv_index = lo_node->get_lead_selection_index( ).
where is the above code written..is it written in OnLeadSelect event of the TABLE..
can any one help me what is the wrong.. else suggest me how to get the selected elements from a table....
As the selection mode is Auto there is no multiple selection..hence try to use the lead selection only.
Edited by: Lekha on Jan 3, 2012 6:47 PM -
How can I bind a operation with a table
Hi !
I'm trying to bind a operation with a table, so what type of operation return ? ViewObject or a Vector? And how can i set params to these operation if my operation has some param ( getSubscriber(int iSubId, int iSubType) )
Thank a lot for your helpHi,
it depends on the release you are asking this question for. In JDeveloper 10.1.3 you can expose a method (e.g. on a session facade) that returns a Collection. The input parameters can be dragged and dropped as input fields to the page.
The same can be done in JDeveloper 10.1.2, but here you have to prgrammatically apply the input arguments.
Frank -
How to get Index of a single element in a table
Hi Gurus,
I need to get the index number of the element in a table even if the row is not selected.
I've already searched the forum for this but all i'm getting are selected rows in the table. I need to get the index even if that elemen's row is not selected in the table.
Please advise.
Regards,Hi,
Could you please specify what exactly you want to do?
You said you want to get the index of an element even if the corresponding row is not selected. But there might be more than one element where the correponding rows are not selected. So it would be better if you could be more specific about what you want to achieve.
Regards,
Srilatha -
Regarding Link to URL UI Element in a table
Hi All,
I am using "link to url" UI Element in a table column. I have mapped the column (i mean the "reference" property of "link to url" UI to a bapi node). Now, when I am populating the table, for some rows the bapi is not returning the url links. So, the column is getting disabled and not even showing the links for the rows which are getting the url link from the bapi.
Is there any way to set the mapping row wise, so that the rows which have data get enabled with the link and which do not have data will be disabled.
Also, can I make the whole table readonly, except for one column.
Please help me in this regard.
Regards,
Murthy.Hi Armin,
Thank you very much. The problem is solved. 10 points for you.
Another Question.......
Can we make the table readonly, leaving just one column to select.(that is the column with link to url). Is it possible? If so, please tell me how....
Also, can you tell me the reason for the following exception.....
<b>com.sap.tc.webdynpro.progmodel.context.ContextConfigurationException: DataNodeInfo(CreateTemplateComp.Zad_Bapi_Get_Template_Details_Input.Output.T_Template_Details): structure field Ad_Height not found
at com.sap.tc.webdynpro.progmodel.context.DataAttributeInfo.init(DataAttributeInfo.java:299)
at com.sap.tc.webdynpro.progmodel.context.NodeInfo.initUnmappedAttributes(NodeInfo.java:687)
at com.sap.tc.webdynpro.progmodel.context.DataNodeInfo.doInit(DataNodeInfo.java:238)
at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:671)
at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:674)
... 49 more</b> -
Insert a new Dropdown UI-Element in a Table header
Hello,
i need to insert a Dropdown UI-element in a Table header, i was looking in the forum and the Web, BUT i didnt find anythinf that can help.
please schow me how can I insert a DropDown UI-Element in the Header.
thank you allHello,
You can normally create a table. Insert a table column and for the table column you need to give Dorpdown by Key / index as a cell editor.
Thanks,
Raju Bonagiri -
Clickable UI element in a table tree as a child
Hi experts,
I haev created a tree in a table column. And in a treebykeytable coumn of a table, what type of cell editor can be included so that we can capture a event on a click of it.
I.e once a child is clicked- I want to caoture the value of child clicked and navigate further.
I dont want to use linktoaction UI element and moreover table need initialze lead selection and on using linktoaction, for clicking any child it capture only root value i.e lead selected by default.
Thanks
Depeshhttps://www.sdn.sap.com/irj/sdn/nw-70
would help you
regards
nag -
FileDownload UI Element in a table
I'm tryign to use FileDownload UI Element in a table, but it seems not to work.
I have defined a binary, an IWDAttributeInfo and a IWDModifiableBinaryType attributes in the same context node of the table.
In wdDoInit() I wrote the following code:
for (int i=0;i<wdContext.nodeFileTab().size();i++)
try {
wdContext.nodeFileTab().getFileTabElementAt(i).setAttInfo(wdContext.nodeFileTab().getNodeInfo().getAttribute(IPrivateView_pdfView.IFileTabElement.T_FILE_DOWNLOAD));
wdContext.nodeFileTab().getFileTabElementAt(i).setBinaryType((IWDModifiableBinaryType)wdContext.nodeFileTab().getFileTabElementAt(i).getAttInfo().getModifiableSimpleType());
wdContext.nodeFileTab().getFileTabElementAt(i).getBinaryType().setFileName(wdContext.nodeFileTab().getFileTabElementAt(i).getFilename());
wdContext.nodeFileTab().getFileTabElementAt(i).getBinaryType().setMimeType(WDWebResourceType.PDF);
wdContext.nodeFileTab().getFileTabElementAt(i).setTFileDownload(this.getByteArrayFromResourcePath("/sapmnt/PCD/global/config/cm/etc/pdf/"+wdContext.nodeFileTab().getFileTabElementAt(i).getFilename()));
catch (Exception e)
wdComponentAPI.getMessageManager().reportException(e.toString(),true);
As result each row download the file in the last row. Is there any other way I can try?Hi Anita,
you cannot set metadata at element level of a node. When you set the metadata ( example mime type or file name ) for a particular element in the node , it changes for all the element. So you are always getting the file for the last row. ( most recent set metadata ).
Try using the inteface IWDCachedWebResource for file download.
For each row add a button, and associate an action "DownloadFile" for it. Use the following "onAction" for the said action.
public void onActionDownloadFile(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
//@@begin onActionDownloadFile(ServerEvent)
int selectedIndex = wdContext.nodeFileTab().getLeadSelection();
IPrivateView_pdfView.IFileTabElement file = wdContext.nodeFileTab().getFileTabElementAt(selectedIndex);
try {
IWDCachedWebResource webResource = WDWebResource.getWebResource(
this.
getByteArrayFromResourcePath("/sapmnt/PCD/global/config/cm/etc/pdf/"+
wdContext.nodeFileTab().getFileTabElementAt().getFilename(selectedIndex),
WDWebResourceType.PDF);
wdComponentAPI.getWindowManager().createExternalWindow(webResource.getURL(),"Download File",true).open();
catch(Exception e) {
// take some action
wdComponentAPI.getMessageManager().reportException(e.toString(),true);
//@@end
Hope you get a solution.
Regards
KK. -
How to add a new data element for existing table filed(Primary key field)
Hi Experts,
How to add a new data element for existing table field(Primary key field)
For this filed ther is no foreign key relation ships and even check table.
while activating table it is giving message like below.
can you help any one to solve this and wil steps to add new dataelement for existing primary key filed of a table.
Check table (NAMING SPACE/TABLE NAME(EX:/TC/VENDOR)) (username/19.02.10/03:29)
Primary key change not permitted for value table /TC/VENDOR
Check on table /TC/VENDOR resulted in errors
Thanks
RaviHi,
Easiest way is to download the table eg into an Excel table (if possible) or text table. Drop the table from the database. Build your table with the new key field. Build the database table again and fill it.
You can do it also over the database into a new table. Drop the old one. Build the enhanced one and fill it. Afterwards drop your (temporary) table.
Maybe there are other ways, but this works.
Success,
Rob -
How to bind the data from user table into user report
Hi All,
Please assist me to bind the data from user table into user report. I did create an user table with data and create a user report template (using Query Print Layout). How can I display my data into report format which I created before? Any sample program or document I can refer?
Platform: SAPB1 2005A
Add On Language: VB.Net 2003
Thanks.
rgds
ERICHi Ibai,
Thanks for your feed back. I give you an example.
Let say now i wanna print employee list, so i will go
1. Main Menu -> Reports -> HR -> Employee List
2. Choose the Selection Criteria -> OK
3. Matrix will display (Employee List)
4. I can print the report click on print button
5. Printing report
My target
1. Main Menu -> Eric_SubMenu -> Employee List
2. Matrix will display (Employee List)
3. Print button
4. Print report
My problem
Now I would like to use my own report format. My own report format means I wanna add on my logo or do some customization within the employee report. So how I am going to do? I only able to display the employee list in matrix. How do I create a new report format and display it.
Thanks.
rgds
ERIC -
Getting an error while fetching the data and bind it in the Tree table
Hi All,
I am getting an error "A navigation paths parameter object has to be defined - " while fetching the data and bind it in the Tree table.
Please find the code and screenshot below
var oModel = new sap.ui.model.odata.ODataModel("../../../XXXX.xsodata/", true);
var oTable = sap.ui.getCore().byId("table");
oTable.setModel(oModel);
oTable.bindRows({
path: "/Parent",
parameters: {expand: "Children"}
Can anyone please give me a suggestion to rectify this?
Thanks in Advance,
AravindhHi All,
Please see the below code. It works fine for me.
var oController = sap.ui.controller("member_assignment");
var oModel = new sap.ui.model.odata.ODataModel("../../../services/XXXX.xsodata/", true);
var Context = "/PARENT?$expand=ASSIGNEDCHILD&$select=NAME,ID,ASSIGNEDCHILD/NAME,ASSIGNEDCHILD/ID,ASSIGNEDCHILD/PARENT_ID";
var oTable = sap.ui.getCore().byId("tblProviders");
oModel.read(Context, null, null, true, onSuccess, onError);
function onSuccess(oEventdata){
var outputJson = {};
var p = 0;
var r = {};
try {
if (oEventdata.results){
r = oEventdata.results;
} catch(e){
//alert('oEventdata.results failed');
$.each(r, function(i, j) {
outputJson[p] = {};
outputJson[p]["NAME"] = j.NAME;
outputJson[p]["ID"] = j.ID;
outputJson[p]["PARENT_ID"] = j.ID;
outputJson[p]["DELETE"] = 0;
var m = 0;
if (j.ASSIGNEDCHILD.results.length > 0) {
$.each(j.ASSIGNEDCHILD.results, function(a,b) {
outputJson[p][m] = { NAME: b.NAME,
ID : b.ID,
PARENT_ID: b.PARENT_ID,
DELETE: 1};
m++;
p++;
var oPM = new sap.ui.model.json.JSONModel();
oPM.setData(outputJson);
oTable.setModel(oPM);
function onError(oEvent){
console.log("Error on Provider Members");
oTable.bindRows({
path:"/"
Regards
Aravindh
Maybe you are looking for
-
I have a Windows 2003 Server 64-Bit, and when I upgraded to Firefox 4.0.1 now it won't run, it keeps saying to restart the computer to complete the installation, but I've restarted theserver 4 times, and I still can't use it.
-
Hi All, I have BOE XI 3.1 SP2 on Windows 2008 64 bit server. Installed LCM, tried to create jobs but it throwed the below error. A general exception occured in LCM Application. Please refer to the stack trace for more information. ClientAbortExceptio
-
Simulating high and low resolution
Edit: I'm using CS5 I'm clueless about creating an effect to an existing image. I want a very small center point of the image to be unchanged. Just outside of the center should appear as if it's slightly lower resolution, and the further you go from
-
Amended Columns in IR not showing in Edit Form
Hi, I Created a IR report using A form on a report wizard. I have now changed the underlying query in the IR and it is showing correct. When I click on Edit, the records are not forwarded to the form. Even the new fields in the IR are not reflected i
-
Hi, Is it possible to return the result of SELECT query in a store procedure as an OUT record/cursor?(if Yes How?) or Do I have to use a Temp Table, this result (more then one row) will be used in another application. I'm using Oracle 8i. Thanks for