She's a beautiful girl and you should be damn proud...SHE should be proud of herself for still going and not letting a silly thing like no date stop her (remember this is HUGE for a teenage girl!).
Buy her flowers....either just to make her feel better or buy her a corsage for the event. If she feels sad at any point at least she can look down and be reminded that her granddad cares
oh and don't worry about the boyfriend....it make take her a few years but one day she will realize she was better off!