Column to show in deck view

I have create one small App using Appsheet where I want to select card view but like to show column name. In my layout , once I click on it , it shows me these names under detail view which I do not want.

Also, I like to add the option in the App that if user want to install , they first need to provide their details like email , phone etc before they actually can install it.

I would appreciate if someone can shed some light here.

Regards
Alok Beheria

1 Like

You have two options here:

  1. To save you some time and effort, name the data columns what you really want to show
  2. If 1) is not practical, every column has a “Display” section where you can specify a different name to display.

    NOTE: “Description” is shown on Forms IF supplied, otherwise “Display Name” is shown.

How can a user first provide, in the App, their details IF they haven’t installed the app yet?

There are a couple of ways to deal with this:

  1. Users provide their details through some other means, (maybe a signup on a web page), you then add them as a specific user to the app and send them the link. The user would be required to login to use the app as a tight security measure from unwanted access.

  2. You design the app such that any user can download and install it. Before they can gain ACCESS to any app functions, the user must supply their details (register). You would have no control over the users accessing the app. You can create the app to use Cloud authentication to protect the user to some degree OR have it such that the registration is the only security measure like in a public app.

3 Likes

Hi John,

Thanks for your valuable inputs. Yes, you are correct , without the App install , how can I create event on it. As you mentioned , one first need to allow App to be installed and then can put some type of events. I would appreciate if you could help me find the resource where I can learn implement this and add this feature to my App.

Regards
Alok Beheria

1 Like

I am not aware of any resource that describes the capability of a user registration. This isn’t an AppSheet built-in feature so you would have to build your own.

The way I would approach this to create your normal app views and then a registration view. Then apply an expression to the View_If property of ALL views that determines if a user is registered or not. What that expression might look like greatly depends on the app.

The idea is is if:

User not registered - hide ALL app views but show the registration view.
User IS registered - show ALL app views but hide the registration view.

I hope this is enough to get you started. I am sure you will have more questions so just post them in the Questions section as they come up!!

Good luck!

1 Like

@Alok.Behria

Also, I like to add the option in the App that if user want to install , they first need to provide their details like email , phone etc before they actually can install it.

I have a similar feature in one of my apps that may work, and I can possibly shed some light on it for you.

Essentially, users have to complete a form before the other views are visible.
The form has some hidden fields that are pre-populated.

The SHOW_IF is based on the users entry for that form - when it reads that the user has submitted the form - views and functionality magically appears.

How it Works
  • When first installing and opening the app - All views are hidden other than the “Sign Up Form” view.

  • The user is required to fill out their details and submit the form
    This form makes an entry to a specific table called “Credentials”.

  • They are required to complete: [NAME], [TITLE], [COMPANY], [PHONE NUMBER]

  • The following fields are then auto completed: [EMAIL ADDRESS]

  • A hidden field for [App Access Type] is automatically filled with a value of [FULL] (or whatever levels of access you wish to provide)

  • More views are made available based on a SHOW_IF formula that checks the “Credentials” table.

It is not bulletproof by any means, but you can setup some automation to send you an email every time somebody registers if you wish to approve prior to allowing access.

PS: This is basically the same way that @WillowMobileSystems has described.

The way I would approach this to create your normal app views and then a registration view. Then apply an expression to the Show_If property of ALL views that determines if a user is registered or not. What that expression might look like greatly depends on the app.

2 Likes

And it is Show_If on a view just like in columns - not View_If.

1 Like

Good catch! Sorry, I rushed through that response.

LOL! I was agreeing with you about it being Show_If. I was in error in my post. I should have copied in the text from my original post instead of from your reply. It made it look like I was correcting you. Sorry for the confusion.

You’ll want to change your post back to Show If!! :slight_smile:

1 Like

All amended now! :sweat_smile:

I misunderstood and wasn’t infront of appsheet to check it.

Hello John,

Thanks a million for your help here. I have 1 sheet with in that , I have Menu table and along with it 4 more tables. The Menu table sets up the App interface and all the views are Ref views. Not sure , if I nee to add another table and create as an registration table and then create a view for this table. I can create view , but not sure , how to set this up as mentioned by you. I would appreciate if you could further guide me here.

Regards

Yes, I would definitely create a dedicated table for the registrations.

1 Like

Thanks again , so after creating a registration table and put email and phone numbers into it , then what property I need to for this view so that only registered users can see other views.

Regards
Alok Beheria

None. When a user enters the app, you would check for the existence of a registration row in the registration table.

If none exists, user is not registered and you would show the registration form.

If a row exists for that user, the user is registered and you would show the app views.

As stated above, you would place an expression in the Show_If of each app view. I would create that expression like this (registration row exists?):

COUNT(Registrations[Registration ID], [User Email] = USEREMAIL()) > 0

For the registration form, the expression would be like this (no registration row):

COUNT(Registrations[Registration ID], [User Email] = USEREMAIL()) = 0

All of this does beg the question…How are you planning for users to access your app? Will it be a Public App such that any user can access it? Or will it be an app on a per-user-license plan that requires user authentication?

I have assumed with my answers that you will have your app on a per-user-license plan.

1 Like

Hi John,

I tried to create registrations table with 5 columns like RegID, Name,email, phone,Loc and tried to use this in show if property for a view , but hit error related to email column does not exist , but in table, It does exist.

In terms of user registration , I am first trying to allow access to users which are filling in their details … Later on , I am planning to use Pro plan to have users login with their details.

Regards
Alok Beheria

Make sure you are adjusting the table and column names to match YOUR table. Also, USEREMAIL() is a function… In your expression you have Email(). That is not a valid function name. Change it to USEREMAIL() explicitly.

1 Like

Thanks very much john, but I also tried to use to correct column name , but still , it’s hitting me an error.


Regards

I’m so sorry! As @Steve has politely pointed out, I forgot the SELECT function keyword in my sample expression. It should have been this:

COUNT(SELECT(Registrations[Registration ID], [User Email] = USEREMAIL())) > 0
1 Like

Hello John,

No problem and without your help , I wouldn’t have been possible for me to create App. I am very thankful here to you as the solution provided by you worked like a charm , but here when I tried to use the App with a user which does not have entry to Registration table , but still the user which does not have entry can access the view for which I created the expression.

Regards

As stated above, you have to implement this Show_If expression in EVERY view. Did you do that?

The Registration view will use a slightly different expression where the count = 0. All other views use the expression where Count > 0. Did you do that?

1 Like