什么是非DataTable DataSource的DataGrid MappingName?

run*_*ier 5 .net c# compact-framework windows-mobile

我能够将.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);
Run Code Online (Sandbox Code Playgroud)

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

Chr*_*sma 15

更改:

 tableStyle.MappingName = InventoryItems.ToString();
Run Code Online (Sandbox Code Playgroud)

tableStyle.MappingName = InventoryItems.GetType().Name;
Run Code Online (Sandbox Code Playgroud)