I am attempting to dynamically create a DataGrid bound to a dynamically created DataSet. The column names, column headers, and foreign key relational lookups are unknown at design time. I have successfully bound my dynamically created grid to a DataSet with a core datatable and an unspecified number of relations to lookup tables, all defined within the DataSet. However, with respect to the DataGrid columns that should contain the description values from lookup tables instead of the code value from the core datatable, I can&#039;t get anything to show up. I have tried two ways of dynamically creating TemplateColumns containing Labels to look-up to these relations (dynamically writing .ascx files for each look-up column, and extending ITemplate class), neither of which have worked. Basically, I need to know how to tell the TemplateColumn what data to look at.<BR><BR>Here is the scenario that I am working with. Table A is the main table. A&#039;s columns 1 and 2 look up to tables B and C, respectively. I want values in B and C to show up in my DataGrid in place of A.1 and A.2. I filled tables A, B and C in my DataSet object and established the proper Relations between A and B/C. The trick is to create a column in the DataGrid that knows that its value is A.1 or A.2, but displays a column in B or C, based on the relation. Do I even need to use a TemplateColumn? <BR><BR>Remember, I am building this all at runtime, and I do not have any knowledge of what table(s) I will be working with at design time. Everything has to be done "on the fly." There are literally thousands of examples out there that involve using TemplateColumns in a far more complex way than this, but I have yet to see a solution to a problem this simple.