0

Can I control the order in which Ninox displays my tables?

When I open my database, it appears Ninox orders my tables in the order in which I created them. (see attached). Is there a way for me to re-order them a bit more logically for my users?

15 replies

null
    • Fred
    • 6 days ago
    • Reported - view

    I would recommend that you don’t allow users to navigate the tables directly. Create dashboards that allow users to do what they need to do. Can never trust those users to do what they are supposed to do. :)

      • John_Halls
      • 3 days ago
      • Reported - view

       Life would be so much easier if we didn't have users. Or customers eh  ?

      • Fred
      • 3 days ago
      • Reported - view

       sadly, I'm my only user and I have to keep myself from doing stupid things.

      • Dave_Airel
      • 2 days ago
      • Reported - view

        Thanks for that pointer, I honestly hadn't thought of that. The pop up forms seem so easy and intuitive ...  I guess it makes sense to put a little security between our users and the basic structure of the database. I've been thinking about this for a couple days and keep coming back to this ... other than removing the chance of deleting an entire table, are there really any other protections provided by building edit capabiities into a separate dashboard table? (serious question)

      • Fred
      • 2 days ago
      • Reported - view

       off the top of my head, dashboards/pages can:

      1) data validation before you write the data to a record

      2) you make an easy UI for your users  

      3) simpler data access protection, keep people from accessing data they shouldn’t  

      4) you don’t have to worry about the dynamic choice bug since you never use it to store data  

      5) can update many tables at once

      6) if you create the UI at the data table then all that ui stuff appears on each record, you are mixing the roles of UI and data storage . Also you don’t have to make your data tables look pretty.

      • Dave_Airel
      • 2 days ago
      • Reported - view

       Yeah. Ok. Tail between my legs pulling open the training videos on dashboards now. Thanks, Fred.

      • Fred
      • 2 days ago
      • Reported - view

       it took me awhile to understand the advantages of dashboards. I’m the only user but even for me I’m finding them helpful. Plus I don’t trust myself. 🤣

      • Fred
      • yesterday
      • Reported - view

       You probably have all the knowledge already to setup your dashboards. If you uses Pages then all you need is to create the fields that make up the UI. No special training needed.

      • Dave_Airel
      • yesterday
      • Reported - view

       I think I'm ok. I used a Nioxus training video from a couple years ago to get started. I began with a "Control Panel" table, created a form view and am building out tabs for the different stuff users will need to do. So far I have "Add a new contact" working, moving on to the others over the next couple days. Thx for your support -- as always, suggestions welcome.

      • Fred
      • yesterday
      • Reported - view

       That looks great! You are on your way. I know it seems like too much extra work, but you will soon find that going into the tables directly to be too much trouble and wished you had created a dashboard to do what you needed.

      • Dave_Airel
      • 21 hrs ago
      • Reported - view

       OK, stuck on a script again. A few weeks ago, you and  helped me build a script to process an imported .csv file into two tables (Contacts and Events). That script has been working fine. In this latest dashboard effort, I want to create a dashboard tab to manage this entire process - eventually launching the import (into the Attendance_Staging table) from the dashboard, and then using the "Process Data" script to move the data.

      I started by manually importing a test .csv with 3 records into Attendance_Staging. From my perspective, it seemed like the original script might work so I just copied it over to a button on the dashboard. It does process the Attendance_Staging table, but only the last record is saved. The script is below. I'd be happy to send you a copy of the database, but now that it's populated with real data I don't want to post it here. Can I get it to you some other way?

      Here's the script (again, it works when the button on the Attendance_Staging table, but only the last record is saved when I launch it from the Control Panel (Import - Events tab, BTW)

      do as server
          let allContacts := (select Contacts);
          let allEvents := (select Events);
          let allRSVP := (select RSVP);
          for i in select Attendance_Staging do
              let contact := if contains(allContacts.lower(Email), i.lower(Email)) then
                      first(allContacts[lower(Email) = i.lower(Email)])
                  else
                      let newContact := (create Contacts);
                      newContact.(
                          Email := i.lower(Email);
                          Lastname := i.'Last name';
                          Firstname := i.'First name';
                          'Mobile Phone' := i.'Mobile number';
                          Zip := i.Zip
                      );
                      allContacts := array(allContacts, [newContact.Id]);
                      newContact.Id
                  end;
              let event := if contains(allEvents.'Event ID', i.'Event ID') then
                      first(allEvents['Event ID' = i.'Event ID'])
                  else
                      let newEvent := (create Events);
                      newEvent.(
                          'Event ID' := i.'Event ID';
                          'Event Name' := i.'Event name';
                          'Event Type' := i.'Event type';
                          'Date / Time' := i.'Timeslot start'
                      );
                      allEvents := array(allEvents, [newEvent.Id]);
                      newEvent.Id
                  end;
              if count(allRSVP[Attended_Import = i.Attended and Contacts = number(contact.Id) and
                              Events = number(event.Id)]) = 0 then
                  (create RSVP).(
                      Contacts := number(contact.Id);
                      Events := number(event.Id);
                      Attended_Import := i.Attended;
                      'RSVP Status' := i.'Attendance Status'
                  )
              end
          end;
          delete (select Attendance_Staging)
      end

      • Fred
      • 20 hrs ago
      • Reported - view

       Can you copy your DB and remove all personal data and put in fake data?

      • Dave_Airel
      • 20 hrs ago
      • Reported - view

       Just went to do that & realized in my testing I had deleted 7 'real' contacts ... no idea how I did that. I need to fix that first so give me a little time. I have to run out this afternoon so I'll work on it over the weekend and send you the latest DB with some fake data. Thanks, Fred.

    • Mel_Charles
    • 3 days ago
    • Reported - view

    AGred with Fred but to answer your question directly - yes you can

    in edit mode - hover over the the table name and you will see 6 dots appear. click and hold and drag table up or down the list - 🙂 

      • Dave_Airel
      • 2 days ago
      • Reported - view

       Got it - thanks, Mel.

Content aside

  • 20 hrs agoLast active
  • 15Replies
  • 78Views
  • 4 Following