2012-04-03 83 views
0

當我綁定到我想要擺脫出類似的列GridControl: System.Data.Objects.DataClasses.EntityCollection``1[Model.PersonEmails]自定義綁定網格控件中的列?

相反,我想在這種情況下,我們將根據父實體郵件的總數。

+0

當你說'GridControl'你是指DataGridView還是指的是一些第三方網格控件? – 2012-04-03 18:04:38

+0

使用自定義類(如DTO甚至視圖模型)來包含要在網格中顯示的數據。您可以在linq'Select'語句中創建對象。 – 2012-04-03 20:32:02

回答

0

抱歉耽擱

我已經發現使用GridView1_CustomColumnDisplayText事件處理程序的解決方案。

是的,這是第三方控制。

Private Sub GridView1_CustomColumnDisplayText(sender As Object, e As DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs) Handles GridView1.CustomColumnDisplayText 
    If e.Column.FieldName = "PersonEmails" Then 
     Dim Entities = DirectCast(e.Value, System.Data.Objects.DataClasses.EntityCollection(Of PersonEmails)) 
     If Not Entities Is Nothing Then 
      If Entities.Count = 1 Then 
       Dim x As PersonEmail = Entities.FirstOrDefault() 
       e.DisplayText = x.Email 
      Else 
       e.DisplayText = Entities.Count 
      End If 
     End If 
    End If 
End Sub 
+0

恭喜修復!如果可以,請確保將答案標記爲「已接受」,以便其他人可以從您的成功中學習。乾杯〜 – 2012-04-05 16:27:23