However i have also a table model class which communicates directly with the DataClient interface
So what you are saying is that your Table Model is tightly Coupled to your DataClient interface. Well, in some ways you need some kind of coupling. However, you could have it the other direction. Based on your quote above, I would assume that your TableModel class has a reference to your DataClient, and through that reference calls a method.
If that is so, I would say to redesign your TableModel. Try making a method on your table model accept as a parameter a DataInfo[] to display in the table, then your TableModel knows how to display these arrays, and then your can also have it pass it a FieldInfo[] and from that make up the Headings of the table.
Mark