Hide / Show Fields dynamically in GeneXus SD application - genexus

I just want to do in SmartDevices with Genexus two things, and I really cannot do it, thanks in advance if someone could help me.
1) Hide or show one field based on another field, eg: In edit mode show the field CITY only when the field COUNTRY is filled.
2) Hide empty fields when in view mode but show in the edit mode, this is possible if I create different layouts, but I want know if is possible do this with just one layout.
Thank you
Ricardo.

You can use the ControlValueChanged event. For example.
Event &CountryId.ControlValueChanged
If &CountryId <> ''
&CityId.Visible = true
Endif
EndEvent
Please note that for Edit controls, ControlValueChanged will fire when the edit loses focus, not when the user closes the keyboard. So you may want to use an Enter Event to make the second field visible too. This does not apply if CountryId is a dynamic combo, for example.

Related

MAUI Show/Hide controls based on mode New/Edit/View

I need an idea, please. I have a Details form which shows the fields of a model (about 10 fields in all). There are three modes in which I could show this view - in mode "Edit", in mode "New" (which, of course, is like an edit but without values), and in mode "View" (no changes allowed, just labels).
I could of course create three Details pages, one for each mode, and call them selectively, but I would like to have just one and pass the "DocumentMode" parameter to it. That View should bind to that mode and selectively show/hide controls, probably like "DocumentMode = VIEW => Show labels" or "DocumentMode = EDIT => Show Entry or Editor, show DatePicker, TimePicker, etc".
My question is this: How do I show/hide these groups of controls depending on the DocumentMode parameter ? Which would be the best way to do this ? I could probably bind the "IsVisible" property to my documentMode parameter, but I think that is a really ugly solution (and I assume that regardless of whether the controls are used or not in a specific mode, they will all be loaded anyway).
Thank you.
Alex
I think you can use a Listview or Collectionview to represent your data because you mentioned that you have 10 fields.
In addition, you said you need a "new" button, so you can set it at the top of the app as a button, when you click the button then you jump to another page which is blank and you can add the data.
This must refer to the shell you may need to set a navigation.
Then the "view" and the "edit" you can use the property SelectionChanged to control the item, I mean when you click the item in collectionview, the SelectionChanged method can be triggered and turn to another page which can show the detail about the item you clicked. In the page you can view and edit the data.
Here are some articles you might be able to use: Listview, Collectionview, Shell
If you have more information to add, please kindly share with me.

Protect data validation from deletion but let it still be changed

I am trying to protect my checkboxes and dropdown lists in a way that other user arent able to delete the cell but can still change the value of the checkbox.
Is that possible or not?
unfortunately, this is not possible. edit rights include the right to edit/set the cell to be empty.
best you can do is to set up some color alert if a cell becomes empty like:

Add a textbox against a radio button to BIRT report parameters window

In BIRT, the report parameters window that pops up for user input ,I am taking two radio buttons. For the first radio button ,I am giving 'ALL' to select all office codes.
For the second radio button , I want to add a text box where the user can give one particular office code as input.
I would like to know how to add a text box against a radio button.
Thank you in advance.
I believe it is possible to do as you ask, but it would require creating a custom parameter. This is an easier solution for what I imagine is what you are trying to do.
The easier solution use a single text box in your parameter, set the default value to "All" and SQL code in your query similar to this.
where CONTCTSM1.OPERATOR_ID = ?
or
('All' = ?
and
CONTCTSM1.ACTIVE = 'f' )
With this code if a specific value is given it returns results for that one parameter. If the Value is left as All, then it returns all values where CONTCTSM1.ACTIVE = 'f'

Filemaker: List View: Different UI for each record

I am using the List View. Based on variables I want to display different groups of objects (buttons, text etc.) in different records (shown at the same time).
My first attempt for a solution was to use tabs that I control via scripts. The problem is, that all records in the list view always display the same tab
of a tab control. So if I go to one tab in a records all other records also go to this tab.
Unfortunatly there is also no hide option that allows to hide groups of objects.
Is there any solution? I have filemaker 11 and 12. Altough a solution for filemaker 11 would be prefered.
Thank you!
No. You can do this in form view (hidden tabs and a trigger) or in a report (sliding elements surrounded by portals), but not in the list view.
Well.. The way you say can not be done as far as I know.
What you can do to hide the fields is using some other element on top of it with "conditional formatting" so that it can be hidden.

Designing and printing a receipt format in flex

I want to design a Receipt in flex.
Which control shall I use to display a table if I want to display some table cells without border? I also want to merge cells in the table just as we used to do in Excel.
Can anyone please give me the code to print the Receipt upon the button click?
I would probable use a List control with a customItemRenderer or a textArea with some fancy text formatting. As for giving you the code, I would be happy to provide input to code you have done or point you in the right direction but cant do your work for you. Best of luck.
Please prepare your receipt layout in flex and just check your layout is proper or not. if it proper then put one button and write down the printjob code on click event of the button. be sure at the time of click event please hide the button till printing is done (means upto send method called)
please refer PrintJob Class of ActionScript for your application to get receipt printing through your flex application.

Resources