cancel
Showing results for 
Search instead for 
Did you mean: 

Agentry - dynamically sorting List Tile View

former_member231132
Participant
0 Kudos

I have a List Tile View on a detail screen.  The list tile view is sorted via the Fixed Sort Property on the Order property.  Within the list tile I want the user to be able to modify the value in the Order property, and after they save the change I want the list to dynamically re-sort itself.  This is working well immediately after the change is saved (the list gets re-sorted as expected), however the next time you click on the list tile the rows don't get rendered properly.    Is this type of dynamic sorting of a list tile supported in Agentry?

Thanks

Tim

Accepted Solutions (1)

Accepted Solutions (1)

sudhiranjan_lenka
Contributor
0 Kudos

Hi Tim,

I have seen the fixed sort property works fine in WPF client but not the dynamic sorting(user can't sort the list as per his choice).

What version and platform of Agentry client are you using?

Could please elaborate the requirement?

-Sudhir.

former_member231132
Participant
0 Kudos

Sudhir,

I'm using WPF Agentry client 70.11.0.5.  Using SMP SDK 3.0.11.1.

I have a List Tile that uses a Fixed Sort.  I want the user to be able to modify the property being used to sort the List Tile and after this, I want the List Tile to dynamically re-sort itself based on the change.

Thanks

Tim

sudhiranjan_lenka
Contributor
0 Kudos

Hi Tim,

In this scenario, please don't use fixed sort property you can enable Allow Sort property with an initial sort property along with couple of sortable properties as attached.

We tried this option but it did not work for us in WPF client SP07 and SP09 but never tried in SP11/10.

Good Luck!!

-Sudhir.

former_member231132
Participant
0 Kudos

Sudhir,

On the Filter/Sort tab I tried setting the 'Allow sort' checkbox and set the Initial Sort Property.  On the Sort Properties tab I added the property I want the List Tile sorted by.  These changes didn't make any affect.  The sort used by the List Tile was the order it retrieved them from the collection.  I'm guessing the WPF client doesn't support them in SP11.

Thanks

bill_froelich
Product and Topic Expert
Product and Topic Expert
0 Kudos

List Tile controls only support fixed sorting on all the platforms (Android, iOS, WPF).

--Bill

former_member231132
Participant
0 Kudos

Bill,

My app also has to be supported on iOS devices.  I created an iPad platform and the dynamic sorting works well on this platform.  On iOS when you select a List Tile row for edit it takes you to a separate screen to display the edit screen set.  After the edit is made and it returns me to the screen displaying the List Tile the rows have been resorted based on my change and all works well. 

Part of the difference may be that on WPF it doesn't take you to a separate screen to display the edit screen set, instead it displays the edit screen set directly within the selected row of the List Tile.  This may be part of the reason it gets confused after the edit has been saved when it tries to resort the rows.

Would this be a bug in WPF, or a bonus feature in iOS?

Thanks

mark_pe
Active Contributor
0 Kudos

Tim,

The WPF is a completely different client than iOS. It is also newer. The roadmap for Agentry is to make sure we have all the feature the same or what we call feature parity.  Yes there are known features that exist in one device but does not show on the other.  This may be one of it if you see it works in iOS but not in WPF.

Reference # http://service.sap.com/sap/support/notes/2102731

We cannot check for now if this is part of the feature parity.

We may need you guys to show a screen where it works in iOS versus WPF. We are not sure if part of the development team added the feature in iOS but not yet in WPF.  As mentioned above, most of the roadmap is feature parity to make sure all clients have the same functionality.

If you need it as a feature, you may work with your SAP Account Executive (AE) to ask for a feature tied to your company.

Regards,

SAP Mobile Support Team

bill_froelich
Product and Topic Expert
Product and Topic Expert
0 Kudos

I suspect it is an issue on WPF because you are editing the tile inline.  If you executed a transaction to edit the value I would guess that it would resort when you return since it would be redrawing the list.  That would explain why it is working on iOS since that is moving to another screen to edit the row.

One way to test this would be to manually navigate to another screen and then come back to see if the list then refreshes.  Certainly you can ask for this to be changed but I would guess that for performance reasons the list is sorted when the screen is loaded and since it is a fixed sort the values are not expected to change dynamically. I would guess the same is also true on iOS as well.

Without setting up a test scenario around this I can't really say for sure.

--Bill

former_member231132
Participant
0 Kudos

Bill,

I'm trying out your idea to use a separate transaction screen set to edit the value.
Which in theory sounds like it will work, however, when the transaction screen comes up it doesn't display anything except for Finish/Cancel buttons at the bottom of the screen.

My original List Tile is on a detail screen (not a transaction screen).  Here's how I implemented it:

For the List Tile I set the Edit Action.  I'm assuming the value specified in the Edit Target is passed to the action.

I have the TagTemplates object specified in the OrderEdit action as the "For Object" value. 

The action then has a transaction step which specifies the transaction and screen set to use. I didn't specify the Target Object since I want the object passed into the action (selected TagTemplates object) to be the target of the transaction.

When I run the app on the WPF client, this is what I get.  This following screen shot is my detail screen.  The List Tile View in question is labeled "Order".

When I click the pencil button to edit the selected row, I get this:

Can you see what I'm doing wrong?

Thanks!

bill_froelich
Product and Topic Expert
Product and Topic Expert
0 Kudos

Sorry not without seeing more about your screen set / transaction.  What does the SetupRoutes_TagTemplatesListTileScreenSet_OrderEdit screen set contain?  I would expect it to have one screen only (or maybe one for WPF and one for iOS).  Is there an enable rule on the screen?

--Bill

former_member231132
Participant
0 Kudos

I found the problem.  I had the number of rows/columns on the edit screen as 100x100.  I changed it to 1x100 and now it's working.  And also after I make the edit and then come back to the List Tile the rows are resorted and it's working good.  Thanks Bill!

mark_pe
Active Contributor
0 Kudos

Tim,

Thanks for sharing. Didn't know why the number of rows/column will be 100X100 (not sure if that is default in your case). But thanks from SAP support.

Best Regards,

Mark Pe
SAP Platinum Support Engineer

former_member231132
Participant
0 Kudos

Mark,

I had set the rows/columns to 100x100 myself when I created the screen.  I use 100x100 normally for all screens, and I didn't think it would make a difference on the edit screen.  However I'm guessing that 100 rows was too many for the edit screen to handle, so changing it to 1 row resolved it.

Thanks

Answers (1)

Answers (1)

Former Member
0 Kudos

Tim,

Are you storing this dynamic edited property in workorder object? I think in 2nd time navigation the property value getting changed to default. Can you please store it in Main Object and give a try?

former_member231132
Participant
0 Kudos

Ajitesh,

Are you saying the Order value needs to be stored as a direct property of MainObject?  Currently the Order is stored in an object that that is part of a nested collection two levels below MainObject.

MainObject

     NestedCollection1

     Object1

          NestedCollection2

          Object2

               Order

It would be a very large change to my data model if I would need to move the Order property directly under MainObject.

I'm using straight Agentry, not using a framework such as Work Manager.

Thanks