Preheat a grill until smoking hot. Brush the corn with some olive oil and grill, rotating the ears, until all the sides are charred, 2 to 3 minutes per side. Remove from the heat and cool. Use a knife to shave off the kernels and put them in a large salad bowl.
Brush the beet slices with some olive oil, season them with some salt and pepper and grill for 3 minutes on each side. Transfer the beets to a cutting board, cut each round into quarters, and add them to the salad bowl.
Put a fine-mesh strainer over a medium bowl. Halve the prickly pears and scoop out the fruit into the strainer. Press the fruit to release as much juice as possible. Discard the seeds and pulp. Whisk the vinegar and 2 tablespoons of olive oil into the juice to combine. Season with salt and pepper.
Add the greens, tomato, onion and vinaigrette to the corn and beets. Toss to combine and serve.