【问题标题】:String.Join not working with vbCrLfString.Join 不适用于 vbCrLf
【发布时间】:2013-02-12 13:36:40
【问题描述】:

我有以下程序,效果很好。我唯一遇到的问题是 CompNames 列表 有超过 1 条记录。我正在尝试将 String.Join 与 vbCrLf 一起使用,但它不起作用。

任何人都有任何想法或我可以使用的替代方案。

Public Sub gvTeamList_OnRowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
    Dim TeamID As Integer

    If e.Row.RowType = DataControlRowType.DataRow Then
        TeamID = DataBinder.Eval(e.Row.DataItem, "TeamID")
        Dim sSQL As String
        sSQL = "SELECT C.CompetitionName, CTT.TeamID " & _
                "FROM tblCompetition C " & _
                "left join  tblCompetitionToTeam CTT on C.CompetitionID = CTT.CompetitionID " & _
                "left join  tblTeam T on CTT.TeamID = T.TeamID " & _
                "where CTT.TeamID = " & TeamID
        Dim dr = DataClass.GetDataReader(sSQL)
        Dim bRows As Boolean = dr.HasRows
        Dim CompNames As New List(Of String)
        While dr.Read
            CompNames.Add(dr("CompetitionName"))
        End While
        Dim Name As String
        If CompNames.Count > 0 Then
            For Each Name In CompNames
                e.Row.Cells(5).Text = String.Join(vbCrLf, CompNames.ToArray)
            Next
        End If
        'e.Row.Cells(5).Text = 
        e.Row.Cells(5).ForeColor = Drawing.Color.Yellow
        e.Row.Cells(5).BackColor = Drawing.Color.DarkBlue
        dr.Close()
    End If

End Sub

我也尝试过 Environment.NewLine,但也没有用

【问题讨论】:

  • 定义“不起作用”。
  • 可以查看问题here
  • 看来这是一个WebForms 应用程序,所以我添加了标签。请尝试在您的标签中包含有关应用程序环境(Windows 应用程序与 Web)的信息,因为这是一个重要的区别。
  • 我假设OnRowDataBoundGridViewRowDataBound 处理程序。请注意,GridView 中的每一行都会调用它,而不仅仅是一次。所以你的代码至少效率不高。
  • @TimSchmelter:我认为 OP 知道 - 查询的条件也会随每一行发生变化 (TeamID),因此数据与每个特定行相关。但是可以通过一次将整个表加载到内存中来改进它,然后在内存中的集合中查询特定于团队的数据。

标签: asp.net vb.net webforms


【解决方案1】:

您似乎正在使用 WebForms 应用程序。在 HTML 中,换行通常无效,因为空格被忽略(除非它嵌入在某些标签中)。您想使用<br /> 生成换行符:

e.Row.Cells(5).Text = String.Join("<br />", CompNames.ToArray)

另外,您不需要For Each 循环,因为String.Join 在一次调用中枚举了整个数组。为CompNames 中的每个名称运行一次是多余的。

【讨论】:

    猜你喜欢
    • 2018-05-27
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    • 1970-01-01
    相关资源
    最近更新 更多