One way you can approach this is to define a relation between your CompanyTable (parent table) and your CompanyToVendorsTable (child table). But in the child table, instead of showing the records from the child table, use unbound columns to show records from the VendorsTable. This requires handling model.QueryCellInfo to populate the unbound columns directly from the VendorsTable.
Here is a little sample.
ManyToManyHierarchicalGrid_7641.zip