It is so disappointing to open up the dishwasher and discover that your dishes aren't really clean. Sure, the lipstick might be gone, but a filmy stain remains in its place. Stains are usually caused by hard water or too much detergent in the dishwasher. Avoid using very abrasive cleaners to remove stains. You could scratch and possibly break delicate glassware by trying to scrub a stain off. Do not mix cleaners like ammonia and bleach together, as when they are combined they create toxic fumes.
Run white vinegar through your dishwasher. Do this without any dishes in the rack. Fill the detergent cup full of vinegar and then run the dishwasher as you normally would -- without a drying cycle. This will help clear any excess detergent from the dishwasher as well as any hard water build-up.
Soak your affected glassware in a sink full of 1 part warm water and 1 part white vinegar. Leave the glasses in the sink for about an hour. Rinse off and hand dry. They should be free of staining.
Soak a cloth in lemon juice and wash each glass individually with it. Rinse with warm water and dry with a clean cloth. This should eliminate any film or staining.
Make a paste of vinegar and baking soda and apply to glassware with a clean cloth. Let the mixture stand on the glasses for about 15 minutes and then rinse. Dry the glasses by hand.
Fill the detergent cup of the dishwasher with baking soda and place the stained glasses in the dishwasher rack as you normally would. Run the dishwasher. The baking soda should eliminate the build up from the glassware.