wp7 record filtering - windows-phone-7

For a Windows Phone 7 app, I have several Customer records that I need to display based on when the customers where created, so something like a start date and end date filter (maybe some canned entries listbox that lets you pick - tomorrow, week, month, custom)
Any UI guidance of how to do this so that the interface is kept clean and still leaves enough space for the records to get displayed?
Thanks,
Pratik

You could reserve the majority of the display space for your data and show a brief indication of the current filter in place.
This filter could be an active control of your choice that when tapped takes the user to another page where you provide the criteria selection.
Initially it could show "No filter (tap for criteria)" or some such.

Related

PowerApps for MS Teams - Duplicate record added to combobox when setting DefaultSelectedItems

I am developing a Power App using the Teams version. We have two tables in Dataverse acting as the main data sources. There is an inheritance relationship between these two tables, where one holds parent objects and the other child. I have an overview screen which displays a single record and it is important that a user can select both parent and child records from a single combobox and have the data associated to the selected record displayed.
In order to achieve this I have a collection which holds the ID and Parent/Child type of each record to form a full list of records from both tables. Collection is built as follows:
ClearCollect(Collection_RecordSelect,AddColumns(ShowColumns(record_parents,"recordID","recordID_numeric"),"type","parent")); Collect(Collection_RecordSelect, AddColumns(ShowColumns(record_children,"recordID","recordID_numeric"),"type","child"));
When a user selects a record from the combobox, the ID value from the collection is looked up against the respective data source to get the rest of the data for the record.
The issue I have now is, when a user makes a change to a record in another screen, the app returns to this overview screen to show the record they have just changed. To achieve this I used the DefaultSelectedItems property of the combobox which looks at a selectedRecord variable containing the record ID as a string, set after a user changes the record in another screen. As the combobox requires a record, the combobox uses the selectedRecord variable to Lookup into the collection I referenced earlier to get the full record, unless it's blank in which case it default to the first record. Shown below:
If(IsBlank(selectedRecordID),First(Collection_RecordSelect),Lookup(Collection_RecordSelect, recordID = selectedRecordID))
This results in the combobox displaying two instances of the selected record and showing the old version of the record before the user made changes on the overview screen. If you select another record, the duplicate disappears. If you select the other duplicate record in the combobox, the user's changes are then shown on the overview screen.
Screenshot of duplicate record in combobox.
I have tried creating a single collection, containing all records from both tables, however as they are slightly different due to the inheritance field in the child table they don't merge properly and data is missed. Unfortunately, I need the inheritance field on the overview screen so I can't use ShowColumns and remove it.
I have recently re-built the app in Teams as opposed to standard Power Apps. This solution worked fine in the standard Power Apps environment, so I have a suspicion it may be a bug with the Power Apps for Teams combobox? Unless I am making a mistake, I think this is probably true as I've just tested and the "Classic Control" combobox doesn't have the same behavior, shame because it looks rubbish compared to the Teams one!
I have turned off multi-select on the combobox and search and the problem still exists.
Any help would be hugely appreciated!

Weekview or Timelineview?

I have designed scheduler with unitsview, weekview and monthview,
I have a seperate list of customersname which is displayed on a listbox.
I got struck here.
Now on the weekview, I want each of the customers information to get displayed in the that particular week.
i.e(check image attached) If i click customer1 , I want all the appointments by that customers on that week to get displayed on weekview. If i click customer2, I want appointments of that customer2 on the weekview at the week.Is this possible using weekview? If not, how to implement this? Please help.
You can set a filter function for a particular scheduler view and make this dependent on your list of customers. DHTMLX Filtering Events Documentation
This technique can be used regardless of the view you are using.

Updating a preserved state in Windows Phone 8

I have an MVVM WP8 app that loads a large Pivot to start. From one of my pivots, users can filter one of the lists on that pivot item. I want to display the filter options on a separate page, process the filter on my list, and then redirect them back to the pivot in its prior state - while at the same time, updating the list on my pivot item with the filtered list.
I don't want to reload my entire pivot at that point, I want to go back to the pivot I came from and update its data context/items source only.
What's a good strategy for getting something like this done?

Core Data and poor performance

I've been working this issue for a while now and I am open to any best practices/advice.
The Example
So I created a sample Core Data application. The application is basically a mimic of the AddressBook application. I have the following Entities: Group, Contact, Address, Phone, Email, Webpage, Dates.
As you probably are guessing, a Group can have multiple Contacts, and a Contact can be in multiple groups. Contacts can also have multiple Addresses, Phones, Emails, Webpages, and Dates.
I basically imported some 600 contacts into this application from AddressBook. The user-interface is relatively simple...a Group/category list on the left and an NSCollectionView or NSTableView on the right that shows the list of contacts depending on the selected Group.(collection view or table view...as I added the ability to display either view, both of which are bound to an NSArrayController)
The Group elements I am pulling in through code as opposed to Interface Builder, becasue I wanted to playaround with a Thing's - like sidebar, and it was far easier to do it this way.
The Problem
One of the categories contains all of the contacts while the other category contains merely 2 contacts. When i select the category that has all the contacts it takes anywhere from 8-10 seconds for the information to populate the collection or tableview. However doing the same thing in AddressBook itself is very speedy, almost instant. I am using the SQLLite store type, and have tried using a number of different approaches including trying to diagnose the problem via Instruments, but nothing has worked.
I've tried setting a predicate to the defaultFetchPredicate of the Contact's array controller as opposed to setting a filter predicate, but that didn't work.
I tried preFetching and faulting but i'm not sure if I'm doing it right, and not really sure how to accomplish it if Interface Builder handles the Contact's NSArrayController.
The Other Example
I've also tried downloading a sample Core Data app...while it has a simpler relationship model than what I did(basically a Molecule has Atom objects and an Atom object has Element objects), I inserted 65,000 records and it performed like a charm.
The Question
I've basically hit a wall and I'm wondering if anyone else knows why this is happening and the best ways to fix/overcome/avoid this type of issue?
Thanks!
It turns out that it was actually the NSCollectionView that was slowing things down. I guess the creation and manipulation of views x number of collection view views adds a significant amount of overhead. IKImageBrowserView could have been used but it wasn't what I was looking for.
I ended up changing the application layout to solve this issue.
Thanks all!

Speeding Up Access 2007 Text Searches

I have a database for tracking customer purchases over history. One of my forms allows you to search for a customer name, and a subform displays all recent purchases.
I have a total of 474 customer records. I am tracking a total of 2119 purchase records. The BE and FE are already split, which may be slowing things down, but is needed for distribution and to help control file size.
I am simply using the search box located at the bottom of the form by default.
Is there anything I can do to speed up this search function? I would be ok with it waiting for complete input rather than searching with every character change.
If I understand you correctly, you wish for a way to quickly select customers by name. If this is the case, I believe the best thing for you is a combobox that finds a record on you form. The combobox wizard will do the work for you, simply add a combobox and choose "Find a record on my form" from the options offered.

Resources