自定义绑定网格控件中的列?

问题描述:

当我绑定到我想要摆脱出类似的列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

抱歉耽搁

我已经发现使用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