通过联结表加载值

时间:2015-08-25 20:19:56

标签: vb.net linq entity-framework devexpress xtragrid

我需要将ItemToGroup表格中的所有行加载到一个用逗号分隔的字段中,我不能使用String.Join,因为我使用的是DevExpress的服务器模式,它根据需要从数据库动态加载数据。 String.Join仅适用于通用列表。

我试过这个LINQ声明:

e.QueryableSource = From c In sqlData.ItemStores
Select c.Price, c.Status,
ItemGroupNames = c.ItemToGroups.Select(Function(g) g.ItemGroup.ItemGroupName)

问题是它在网格列中显示:

System.Collections.Generic.List`[system.string]

enter image description here

1 个答案:

答案 0 :(得分:1)

如果您只想在界面中显示字段值,则可以使用ColumnView.CustomColumnDisplayText事件,在这种情况下,您可以使用String.Join
这是一个例子:

Private Sub gridView1_CustomColumnDisplayText(sender As Object, e As CustomColumnDisplayTextEventArgs) Handles gridView1.CustomColumnDisplayText

    Dim list = TryCast(e.Value, List(Of String))

    If Not list Is Nothing Then
        e.DisplayText = String.Join(", ", list)
    End If

End Sub