So, I could write something like FillDataTable("SELECT WO.*, Parts.partnum, Units.unitdesc FROM WorkOrders WO LEFT OUTER JOIN...") and these two fields will show up in the BBS? Is that right? If so...my problem might be solved.
Actually this isn't far off. There are a couple of things that you may want to consider. First, I more than likely would not be trying to put all 3 tables inside of one grid unless they are all one-to-one relationships. Otherwise this would get really messy. In this case though, you would just want to create an updatable view which pulls this back and would then allow a record set to be updated going back the other way.
What you are trying to accomplish is not outside of the scope of the framework and can be done, but the reason that you have received some of the comments suggesting other mechanisms is because a grid gets really messy when trying to cram all of this into one locale. If this were read-only then it wouldn't be as big of a deal. But in any case, just create an updatable view, then all of your BOs, custom properties, etc. will all work. You can then create a new Custom BBS through the templates which will just side step the need to drop on a separate BBS on the form (same approach that is used for reporting).
Note: When creating updatable views, you must still specify a primary key field. To do this, open up the BO Mapper, right-click the BO in question, then open the advanced section. Then override the PK field and specify a PK so that the updates will work properly.