A confrontation about this needs to be done in a private setting, not in the restaurant. I can't think of any good reason to wait to spring it on her until she's ready to order -- as you've said, that would result in quite a scene. Sit down at home with your son, your daughter-in-law, and the granddaughter, and explain the problem as you see it: you love being able to treat your extended family to meals and love spending time with them in that setting, but it hurts you to see hard-earned money spent on wasted food.
Try to keep the conversation calm and focused. Don't get into broader issues of ingratitude, disrespectful behavior, too much time on the phone, speculating on the kid's upbringing before now... keep the topic on something that is potentially solvable: her behavior when eating out with extended family. You could suggest this is why you won't be eating out as a family, you could suggest that your son and daughter-in-law are now going to be financially responsible for their own family unit's plates and you'll just pay for yourself -- do whatever you're comfortable with.
After having this conversation, there are a few ways dinners might play out in future.
The granddaughter changes her behavior, either willingly (out of guilt over being challenged, calmly and directly) or through parental intervention. Keep taking everyone out to dinner and enjoy the small victory.
Your son and daughter-in-law see nothing wrong with the behavior and are offended that you've even brought it up. Don't argue or let things get heated (you don't want to burn all bridges with them over this), just calmly say you're sad that you won't be able to take them out to dinner as a family in future and change the subject.
Every now and then, consider offering the idea of dinner as a group again as long as it isn't likely to set off the fight all over again. Time and perspective might help change their mind.
Your son and daughter-in-law think it's a perfectly reasonable request and granddaughter agrees to eat what she orders (or at least not order steak and shrimp every time), but then when you get to the restaurant she plays the same game and doesn't eat her meal. At this point, don't bother saying anything: it's entirely up to her parents to enforce the new rule, and either they do (enjoy the small victory) or don't (calmly mention this the next time you extend an invitation to dinner).