2014-03-12 95 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. 創建一個包裝類,它公開適當的屬性,而不管它們有多深,然後綁定這些屬性的列表。
相關問題