Hi William.Ru,
I seem to recall that we developed a clever sample for this in the past but now I can't find it. Filtering doesn't work here because you need to compare against previously selected items. You could write code to do some kind of IsMember check but there is a simpler way. Basically, you just need to set "selected" boolean or checkbox value that is at the same level as the items in the secondary data source. Just have it bring down another column and set this to "GOTCHA" or whatever when they pick it. Then, add a filter that compares against this second column and only chooses the sibling fruit where the new column is not equal to GOTCHA. Something like that ought to do the trick. There should be a download somewhere on this site for that. Maybe search for "unique dropdown" ...
Best of luck,
PS> to set the new sibling column to GOTCHA when the fruit is selected, you have to add a filter on the set which isn't supported out of the box (qRules SetValue will do). So another idea which may not even require the new column is to try adding a filter to the dropdown you add a condition where you look up in the table the value of the current node and checks whether it exists. Might involve a tricky xpath that checks for the size of the substring returned or something like that since existence is not an xpath function.