The control will build the HTML table dynamically based on the data it receives. For our control to be versatile, we will have to build and add controls to the table at run time once it receives the data, which is when we will know how many rows the table should have. In our design, the table will always consist of two columns. The first one will hold the name of the DataColumn and the second one will display its value. Implementation Now that we have finished discussing the reasoning and design behind the DataNavigator control, we can get to the fun part and start coding it.