Actually, there is no difference between binding a DataTable and binding its DefaultView. When you bind a DataTable it's actually the data from the DeafultView that you see. That's how the data in the UI can be sorted and filtered, even though you can't sort and filter a DataTable.

Instead of looping through the Rows of the DataTable, you simply loop through the DefaultView. Each item is a DataRowView rather than a DataRow. They can be used in pretty much the same way in most cases, e.g. indexing by column name or ordinal to get a field value. In situations where you specifically need a DataRow, e.g. to get the ItemArray, the DataRowView has a Row property that returns the underlying DataRow.

That said, you shouldn't be using ItemArray anyway. The DataTable has an ImportRow method that will import a row from another DataTable with the same schema. By the way, in case you're not currently, you should be using the existing DataTable's Clone method to create another DataTable with the same schema.