0

データテーブルから複数の列を取得しようとしていますが、単一の行からのみ取得し、それらの結果に基づいてプロパティを設定しています。複数のクエリを実行して一度に 1 つの列を取得する方法を理解しましたが、すべてを 1 つのクエリに結合する方法が必要です。

これが私がうまくいくと思ったものです:

Dim colSettingsQry = From r In Me.GridProcColumnSettings.AsEnumerable _
                     Where r("DataFieldNm") = colNm _
                     Select New With _
                     { _
                        .uniqueNm = r.Field(Of String)("UniqueNm").Single(), _
                        .sortExpression = r.Field(Of String)("SortExpression").Single(), _
                        .headerTxt = r.Field(Of String)("HeaderTxt").Single(), _
                        .headerStyleWidth = r.Field(Of String)("HeaderStyleWidth").Single(), _
                        .dataFormatString = r.Field(Of String)("DataFormatTxt").Single() _
                     }

gridCol.SortExpression = From c In colSettingsQry _
                         Select c.sortExpression

gridCol.HeaderText = From c In colSettingsQry _
                     Select c.headerTxt

...など

私が見逃していることはかなり明らかだと思います-誰か提案がありますか?

前もって感謝します。

4

1 に答える 1

0

私はあなたがこれを探していると思います:

Dim colSettingsQry = ... (your query)
Dim setting = colSettingsQry.FirstOrDefault()

If setting IsNot Nothing Then
    gridCol.SortExpression = setting.SortExpression
    gridCol.HeaderText = setting.HeaderText
    ...
EndIf

FirstOrDefaultある場合はシーケンスの最初の要素を取得し、それ以外の場合は取得しますNothing

于 2013-09-27T12:31:24.627 に答える