I have two tables - ‘Aldi’ and ‘Category_aldi’.
The ‘Category_aldi’ table has a filter that removes any rows with ‘count_is_active’ equal to 0,
while the ‘Aldi’ table has a filter that only displays rows with ‘is_active’ set to True.
The ‘Aldi’ table is also filtered based on the user’s selection in the ‘Category_aldi’ table.
However, when the user deactivates all rows in the ‘Aldi’ table,
the corresponding row in the ‘Category_aldi’ table is also removed due to the filter.
This can cause confusion for the user because the new row selected in the ‘Category_aldi’ table may not represent the same set of rows in the ‘Aldi’ table as before.
To clarify, the user needs to click on the new category again to refresh the table, and ensure that the related rows have been updated in the ‘Aldi’ table.
This can be frustrating and time-consuming, especially if the user needs to switch between categories frequently.
One possible solution could be to mark the corresponding row in the ‘Category_aldi’ table as inactive instead of removing it entirely. This would allow the user to see all possible options in the ‘Category_aldi’ table, even if some of them are currently inactive in the ‘Aldi’ table. This would help avoid confusion and make the user experience smoother.
Do you have any other suggestions or solutions to improve the user experience in this scenario?
Your inactive idea sounds good to me. You could perhaps use conditional formatting to make those rows grayed out, and sort so that they appear last, so that mostly they are not distracting - but they are there when needed to represent the situation you described.
At the minimum, I see this as a bug. When a row of Category_Aldi disappears due to filters, the cursor in that table moves to another row. The records shown in the Aldi table should reflect the new selected row. I think the fact that they do not is a bug we should fix.
A separate potential product improvement is to exempt the row with the cursor from getting filtered out, at least when this row is used for linking. This already happens for direct filters, not very consistently, but if you edit a cell, and the edited value would be filtered out, that row remains shown (it gets “exempted” from the filter), specifically to avoid the problem of an unexpected disappearance of something you were editing. The exemption lasts, I believe, until you switch to another view and back.
Also when I am viewing a table with a filter applied and I have selected a particular row, any changes made to that row by someone else or through the API could cause it to no longer match the filter criteria.
When this happens, the selected row will move to the top of the table, but other widgets or tables related to the “new” row will not be automatically refreshed.
This can sometimes result in errors or inconsistencies on the screen.