我正在尝试从数据表中检索多个列,但只从一行中检索 - 然后根据这些结果设置属性。我已经弄清楚如何运行多个查询以一次获取单个列,但必须有一种方法将它们全部组合到一个查询中。
以下是我认为可行的方法:
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
......等等。
我猜我有一些非常明显的东西 - 有人有建议吗?
提前致谢。
答案 0 :(得分: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
。