The DataGrid works best, i.e. easiest for you and your code, when it is bound to a DataTable. If you want to see the effects of this then add a DataSet to your form, add a DataTable to it, add some columns to that, then set the DataSource and DataMember of the DataGrid. You'll see the columns of the DataTable appear in the DataGrid. You can then populate that DataTable in the form constructor or Load event handler and when you run your app that data will be displayed in the DataGrid. All the data binding can be achieved in code also, but if you know the table schema it is easier in the designer. Having said that, I'm sure that mendhak will agree with me that you should understand what's happeneing when you bind a data source to a control.