DataGridView の DataSource に DataTable を指定しても、そのままでは列がデータバインドしてくれない。いわゆる「非バインド列」とみなされてしまうからだ。データ連動させるためには、列をバインドさせてあげなくてはならない。、
- DataGridViewColumn.DataProperty に DataColumn.Name の値を設定
- DataGridView.DataSource に DataTable を設定
基本的に、この2点で、列同士がデータバインドされる。順番は、どちらからでもOK。でも、DataSource を指定した後に、DataColumn を追加すると、DataGridView に列が勝手に作られてしまうため、それを抑止するに、DataGridView.AutoGenerateColumns を false に設定する必要がある。