I am making a mockups for a web service hardly consisted of tables. Every table has action at the end of each row. So, every set of actions refers to certain row. At some parts of application it is possible for a row to be in active or inactive state. I am wondering how to represent these states, and how to handle them.
Let me show you three options I have on my mind..
I am a bit scared of using design that is actually tailored to fit forbidden actions at a given situations and circumstances. The state I am trying to point out is "Inactive" not "Disabled". I am still able to apply all those actions as for active row. This one approach is most appropriate for one considering space and design. Still users can assume that disabled (inactive) state could become active and they may wonder if they need to perform an action to make them active. What is good actually in this case.
I use special column for displaying active and inactive state. Row with checked green circles indicate active state, and those with empty cells indicate inactive. This way user is even able to sort table through column (in each example table is sortable though column) but it takes a horizontal space and I do not have it enough in my app. Still, user uses set of actions from the last column to change the state.
Special column which is actually editable. Like in previous example the column indicates active and inactive state. The difference is that in this one example I am using check-boxes , so the to perform state change you do not need to go for set of actions at the end. I don't think I made some improvement with this approach, considering that these actions are next to each other and it takes just one click more to change state from set of actions at the very end or each row.
What you think is the best solution and I would gladly hear some other solutions if there are any..
in the last column, you have a settings icon that opens a dropdown with all the options (edit, disable) or the last two columns are reserved for the actions (Activate/ Disable and Edit), but not checkboxes because it is confusing.
I think your second example isn't that bad at all. You could just combine the two columns and use a hover state for the dropdown (I hope it's desktop only). It's a bit cleaner this way, for example like this (with hover on an active and non-active row):
I have used a very simple technique for a few years that has solved this problem. Simply make your inactive rows have a grayed text while your active rows normal weight black text. Since your controls will be enables no matter what the user still knows that they can take actions.
I have also added checkbox filters at the top of the list for active and inactive. These serve two functions it allows the user to get the inactive items out of the way and teaches the user what the gray text means.