什么是非DataTable DataSource的DataGrid MappingName?

我能够将我在.NET 3.5 CF中的DataGrid绑定到List()但我无法通过指定其宽度来格式化列。 下面是看起来应该可以工作但却没有的代码。 我很确定我没有正确设置MappingName,因为所有教程都告诉你将它设置为DataTable的名称但是我没有绑定到DataTable所以我不确定该怎么做。

grdBatch.DataSource = InventoryItems; DataGridTableStyle tableStyle = new DataGridTableStyle(); tableStyle.MappingName = InventoryItems.ToString(); DataGridTextBoxColumn tbcName = new DataGridTextBoxColumn(); tbcName.Width = 400; tbcName.MappingName = "SERIAL_ID"; tbcName.HeaderText = "SERIAL_ID"; tableStyle.GridColumnStyles.Add(tbcName); grdBatch.TableStyles.Clear(); grdBatch.TableStyles.Add(tableStyle); 

grdBatch是一个DataGrid,InventoryItems是一个POCOS列表(普通的旧C#对象)。

更改:

  tableStyle.MappingName = InventoryItems.ToString(); 

 tableStyle.MappingName = InventoryItems.GetType().Name;