作为DataGrid DataSource VB2010 Express的结构列表

时间:2012-02-17 16:41:00

标签: vb.net list data-binding datagridview

这是我第一次正确使用DataGridView并且遇到了一些麻烦...... 我需要在DataGridView中显示数据以便于查看,我有一个所有数据的列表。它是一个列表(一个结构),我不知道如何做到这一点。我可以将数据源设置为列表,但这不起作用。我已经阅读了这个主题,但并不是真的明白。在这种情况下,我是否被迫使用类而不是结构?

另一个问题是列表中的数据并非全部都需要......我需要先对列表进行排序,然后只放入所需的内容。

手动填充网格是不是更好的主意,而不是在此实例中使用源?

感谢。

1 个答案:

答案 0 :(得分:0)

使用结构作为数据源几乎肯定是一个非常糟糕的主意,因为在绑定到表示对象的过程中,您将在数据源中制作对象的多个深层副本。这具有可怕的性能影响。从结构更改为类也可能更容易弄清楚您的数据源出了什么问题,但这里有一些尝试:

  • 尝试使用BindingSource对象(帮助将实际对象的属性映射到DataGridView应显示的列
  • 尝试将AutoGenerateColumns属性设置为True,或者:
  • 确保您的列集合完全与列表中对象的属性名称相匹配
  • 确保列表中的对象类型对.ToString()函数
  • 具有良好的重载
  • 确保列表中对象类型的任何属性的类型对.ToString()函数具有良好的重载。