2015-08-25 30 views
0

我需要將ItemToGroup表中的所有行加載到用逗號分隔的一個字段中,由於我使用的是DevExpress的服務器模式,因此無法使用String.Join,因此它會從數據庫按需提供。而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

如果你只是想顯示在界面中的字段值那麼你可以使用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 
+0

它的偉大工程,用於顯示數據,但汽車過濾器不工作該列,有一個變通呢? – Ezi

+0

@Ezi目前還不清楚你想用過濾器實現什麼,但如果你想使用過濾器,那麼你需要在單元格中有一個單一的值。你可以通過使用'Aggregate' LINQ方法來獲取這個值。 – nempoBu4

+0

彙總代碼未編譯.. 2錯誤: 逗號,')',或預期的有效表達式延續。 範圍變量名稱只能從簡單或沒有參數的限定名稱推斷 – Ezi