Deletion of numbered list consequences handling

I have created a module where i have some list formatted line items and some number formatted line items (all as columns) along with a Numbered list with display name as 1,2,3,4,.....(manually given by us) to create a blank view for the end user to enter records in each row(for reference; see the below attachment). The end user will upload a file with the mapping of Index column(1,2,3,.....) and other columns to see the records in rows. Now, the end user wants to delete a record amongst all the uploaded records as well as remove the blank row that is left after removing the record from the row. If we provide an "Action button" for deletion of that index(numbered list), we can remove the empty row but it will affect the sequence of the numbers given as "Display Name Property" (for e.g: 1,2,3,4,5...... may become 1,2,4,5,7,.....). This will force a manual intervention to restore the sequence of the numbers by the modeler in the "Display Name Property" else the upload by the end user to the module view will fail for that particular index number. Is there any other way to handle this problem statement ? Attaching the screenshot of the view for the reference.ref 2.PNG

Answers

  • @abhay.kanik 

    Yes, there is a simple way to solve this; I use this technique all of the time when I am trying to create codes and sub codes.

    You need to create line item in your module |(dimensioned by the numbered list).

    The formula is:

    RANK(1, ASCENDING, SEQUENTIAL, TRUE, Group By List)

    The last parameter is applicable is you are segmenting the list (by country for example), to ensure you have 2 number 1s for the different grouping.  If you only have 1 single list, this parameter is not required

    This will re-number any item when it is re-ordered or deleted

    You can then use this line item as the display name for the numbered list

     

    I hope that helps

    David

  • Hi @abhay.kanik 

     

    You could add line item within a reference module which is dimensioned by that list and call it 'count' and make the formula '1' so that you have 1 by every item. Next create another line item maybe call it 'list member number' then do a cumulative count of the line item 'count' with the 1s in, then you will get a calculation based 1, 2, 3, 4, 5 etc. and when one member is deleted it will recalculate. Then create another line item called 'display name' then make this convert the number to text and then create a property of the numbered list also called 'display name' which references the module with the line item 'display name' then in the general list settings make this the display name property. Then because the numbering is calculation based the display name will update as the members of the list do. However the numbers of the list items will change as you said but to prevent this would require many processes to clear and re-create the list, so this would be the best option, however I'm sure there are many ways to do it too! 

     

    I hope this helps! 

     

    Thanks,

     

    Usman

  • @abhay.kanik I would go with @DavidSmith 's method! (Learn something new everyday)

  • @usman.zia 

    Thanks!

    One of my favourite phrases is 

    "every day is a school day"

    David

  • This was such a big help to me today! I have one thing to add: I noticed that the numbered list did not allow me to use a number formatted property if the property is assigned as the list's display name. So, I altered the line item to "text" and changed the formula to: TEXT(RANK(1, ASCENDING, SEQUENTIAL, TRUE, Group by List))