How to pass values or reference objects between the sceen powerapps - windows

I am developing an app using PowerApps Web. Tried to integrate excel file which has tables in it. There is table called "employee" which has few details about employee. In first screen i just show employee listing with names in it. But when user clicks on any of the listing item, i would want to show the details about the employee in the next screen.
Note: I am able to connect to the excel file which is in dropbox. Excel file has employee table information. But only the problem is passing reference of selected employee to the next screen in powerapps.
Thanks!
Bhat

On the Navigate call that you use to move from a screen to the next you can pass an optional third parameter (context) that is passed to the next screen.
So for example, if you display your employee names in a gallery in the first screen, and within one of the controls of the gallery you handle the OnSelect action to navigate to the next screen, you can pass the ThisItem value that represents the value that is being used in the gallery:
Navigate(ScreenDetails, ScreenTransition.Fade, { employee: ThisItem })
In the second screen (ScreenDetails), you can access the properties of the selected employee by using the employee context variable. For example, if you have a text box (label) in that screen, you can set its Text property to
employee.FullName
And that will show the name of the employee that you selected in the previous screen.

Related

How to click on Web Table column's Web Button in following case?

I have one web table, in this I want to delete particular record by clicking on record's delete button.
I got the value of row but I am not able to perform click on web button of particular row and also there is 2 buttons in one column.
How to click on delete icon of particular row?
You need to set a reference to the item within the specific row and then click on it - something like this:
Set oLink = Browser("myBrowser").Page("myPage").WebTable("myTable").ChildItem(iRow,8,"Link",0)
oLink.Click
You will potentially need to amend the "Link" and the number 8 in your own code. iRow represents the row you are trying to interact with.
Essentially what this code does is set an object reference to the first item of type "Link", in column 8 of the table, then uses a Click event to select it. If your delete icon is a WebButton, then replace "Link" with "WebButton" for example. The final 0 in the command tells UFT to select the first element matching the object type - you might need 1 if your two icons are in the same column of the table.
Let me know if that helped.

Add record with ID, selecting NAME from another table

Can anyone, please, help me with Libreoffice Base form creation?
I have the following tables:
And I'm trying to add a form to enter new RESOURCES record with the following fields: [RESOURCE_NAME], [CURRENCY_NAME] and [AMOUNT]. But after 10+ tries I have not succeeded. I have tried adding it via wizard, selecting RESOURCES as main form and CURRENCIES as subform and vice versa. I have tried VIEWS and forms based on them. These tries only gave to me or no possibility to enter new record, either creation of the new CURRENCY.
I don't need to create new currency via this form, I only want to enter new Resource (only enter once, not to modify, not to delete). Since I don't want to remember all the ID's I want to select currency name via DropDown list.
Can anyone provide instructions about how to do it, please?
Thanks.
You do not need a subform for this - just create your form document with RESOURCES as the main form (only form).
You will need a listbox to enter the currency item. A listbox has two fields, a display field and a field that is saved in the table. You will set it up to display CURRENCY_NAME and store CURRENCY_ID.
When you create a listbox, the wizard that pops up may get you what you want. If the wizard falls short:
Make sure the form document is open in design mode: on the "Form Controls" toolbar, the leftmost/topmost icon of a pencil with a triangle should be depressed. If this icon is grayed out, close your document, right-click on its name and choose "Edit".
Right-click on the listbox and choose "Control"; this will open the properties window
On the tab "Data" change the "Type of list contents" to "Sql"
In the field "List content" enter SELECT "CURRENCY_NAME", "CURRENCY_ID" FROM "CURRENCIES" ORDER BY "CURRENCY_NAME"
The Bound Field should default to 1. If it isn't 1, change it to 1.
Close the properties window and save your form. It should work as you want now.
If you want a listbox inside a tablegrid: after you create the table, with the form in edit mode, right-click on the column name you want to change and choose "Replace with" and then "listbox".
Edited to include comment by OP about bound field needing to be 1

Multiple Item Form Update with an image

I am currently creating a multiple items form to show all the data I have, the interface will be similar to the one I have attached
This is in the design view. When I want to update the image for the selected record it updates the image for all records. Any suggestions on how I can update the image for each record individually? Or it is not possible to do it for multiple item form?
any other good suggestions?
For Ms Access 2007 and upwards:
The image control can be bound, you should set the ControlSource property of the image control to the field in the record source that contains the image path for each record.
For earlier versions of Ms Access (only works for single record forms):
You must set the image for each record in the Form_Current event.
Example function to be called (assuming the image control is called imgPhoto):
Public Sub SetPhoto(strPhotoPath As String)
Screen.ActiveForm.imgPhoto.Picture = strPhotoPath
End Sub

Want to take an action in a View Panel column to set filter criteria and open another XPage

I have a view panel control that displays a list of documents and some information about each. One of the columns is the storage location of the item recorded in the document. I want to make that column a clickable link so when the user clicks it, they go to a different XPage that shows all the documents with that storage location. An example:
ID Location
12345678 ABCD
98765432 WXYZ
11223344 ABCD
Clicking the ID would open that document, but clicking ABCD would go to an XPage that would display all documents with a Location of ABCD.
This is what I have for the column value:
<xp:this.value><![CDATA[#{javascript:return "<script>sessionScope.set(\"trayId\",\"+rowData.getColumnValue('StorageLocationID')+\");</script>"+rowData.getColumnValue('StorageLocationID')+"";}]]></xp:this.value>
It displays the value properly and goes to the right XPage but I can't figure out how to set the sessionScope variable that I can use to filter the data source on location.xsp to show just the one location. I think I have to create HTML in the column because it threw an error when I set 'Show values in the column as links' and used onclick events to set a sessionScope variable for the location name and then open the location.xsp.
I could probably do this in a repeat control, but it seems like there should be a way to make this work in a view panel, since I feel like I am really close.
Don't set a sessionScope variable, just add a parameter ?location= to URL:
<xp:this.value><![CDATA[#{javascript:""+rowData.getColumnValue('StorageLocationID')+""}]]></xp:this.value>
mark the location column with contentType="HTML" and use the URL location parameter in your location.xsp for filtering your locations view:
<xp:this.data>
<xp:dominoView var="viewLocations" viewName="Locations"
keys="#{javascript:context.getUrlParameter('location')}"
keysExactMatch="true">
</xp:dominoView>
</xp:this.data>

Joomla: editable list screen

I have a joomla site where users can log in. Once logged in, a user can display a list screen -- say, a contact list with a name column and a phone number column. I call it a list screen, but I guess it could be called a list view, grid view, etc.
I'd like to make one of the columns (say, the phone number column) editable in place; meaning, I don't want to force the user to open a contact editing form. Thus, in the phone number column, a text box should be displayed on each line. The textbox contains the existing data for that row. The user can change the phone number in the text box directly in the list screen, and then press some 'save' icon on that row to save only that row (and only if it has changed). It'd be nice if the saving was done with an AJAX request, but it'd be ok to submit a form for now.
Based on the 'list screen' in the book "Learning Joomla Extension Development", I can currently display the correct list of items for the user. Does any one have example/tutorial of how to do the saving of each row individually? It seems like all list screens that I see have a link which must be clicked to open an edit form, as opposed to allowing editing in place.
Thanks
You have to write a component first. Which will basically do the saving part of the individual row. So basically your component URL takes parameter as row_id phone number etc and have a update query updating the database.
Second is you need to write a javascript function which is called on click of every save button. The javascript function reads row details by reading from the DOM. and then fire an ajax request to the above mentioned component. the URL to the above mentioned component should have format=raw.
The result from the component update queries can be returned as true or false. And accordingly read by javascript ajax response. based on which A flag could be shown saying row updated. I can help you with code further if you describe it in more details

Resources