2014-03-12 58 views
0

如何使用DataGridView行存储对象(类)?我无法设置DataGridView.DataSource to the List(Of Class),因为该类具有属于类的属性。在DataGridView列中存储自定义类

也许我错了,但这样的:

Dim intId As Integer 
    intId = DataGridView.SelectedRows(0).Cells(5).Value 
    For Each obj As Object In lstObject 
     If obj.ID = intId Then 
      objObject = obj 
     End If 
    Next 

我有,四处搜寻,却仿佛我可能:

Dim objObject As New Person 
    objObject = DataGridView.SelectedRows(0).Cells(5).Value 

似乎比清洁剂(更可取)为此创建一个自定义的DataGridViewColumn。是这种情况,还是有一些更容易/内置的方式?

虽然也许我过度思考它,并应该采用第二种方法。

+0

首先要确定的是你实际期望看到的。这个类有什么属性,你如何期望网格代表它们中的每一个? – jmcilhinney

+0

我有网格已经显示我需要的一切。问题是,当选中一行时,我必须遍历表单的List(Of Class)以查找该行最终代表哪个对象。 –

+0

不需要循环。该行的DataBoundItem属性包含支持该行的列表项。 – jmcilhinney

回答

0

我建议三种可能的选择:

  1. 与行的键和源作为值创建一个字典。
  2. 将源项目分配给相应行的标签属性。
  3. 创建一个包装类,它公开适当的属性,而不管它们有多深,然后绑定这些属性的列表。
相关问题