title: Designing reports at runtime
body: <p>i am developing a windows forms application which has several windows containing datagridviews using vb.net. The client just recently came up with the desire to be able to print the data of each of these tables. </p>
  
  <p>Having succesfully designed and implemented my first report using Crystal reports a few months ago, my first instinct was to do this using crystal reports. However, because I already knew exactly which columns and data I wanted to present in my first report, I could design the report taking this into account, so this was no problem. </p>
  
  <p>Now, the challenge is that I do not know the exact number of columns to be printed in the report before hand, so I'm afraid I'd have to design the report programmatically, so my questions are;</p>
  
  <ol>
  <li><p>Is there any means of desgining a report programmatically? For example, can I, using only code, tell crystal reports to put a "table object" in the details section, then put a column named X, and another named Y? If possible, can someone point me to some sample code on how to do this or something similar?</p></li>
  <li><p>If 1 is not possible in crystal reports, can someone point me to some other reporting software in which I could achieve 1, and if possible, how? </p></li>
  <li><p>Am I approaching the problem reasonably or is there a much better and easier way in which I could achieve the clients desires?</p></li>
  </ol>
  
  <p>By the way, I already provided the possibility to export the tables to excel, from which the client could print them as they wish, but it would appear they prefer fancier looking reports with logos and stuff as one could achieve in crystal reports.</p>
  
  <p>I'll be extremely grateful with any help in implementing this functionality.</p>