That would be great Keith, but let's work on plain text objects if you don't mind. I'm aware that there are problems with this, but you know how the unknowledgeable can be with that dreaded explode command, but then I suppose we could counter that in this too, couldn't we? hehehe.
I have one little question.
If it is done using plain text, (as keith has shown a good working model structure using xdata) if as you mentioned about the unknowledgeable creating the text. The text needs to have the xdata written into it. That will need to be addressed when the text is added to the drawing. So it's possible the unknowledgeable will create plain text (or mtext) without any xdata. How to avoid that problem? AN additional program needs to be written to create the table text. But would user use that program to create in the first place? maybe, maybe not. Thats the hiccup.
So then maybe the attribute method maybe a little better (in a sense) and an event added to check object if exploded.
object.BeginCommand(CommandName)
Oh wait a sec. using Keiths method when testing text for xdata, if no xdata found, "kick user". Open a new dialog to add xdata to object, if user is certain the selected object is the correct one. Of course the other text within the table will have to be selected and have xdata added to them also.
This could be very challenging.