我能够将.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#对象)。
答案 0 :(得分:15)
更改:
tableStyle.MappingName = InventoryItems.ToString();
到
tableStyle.MappingName = InventoryItems.GetType().Name;