【问题标题】:VB.net Avoid Non-Visible gridview rows with StringBuilderVB.net 使用 StringBuilder 避免不可见的 gridview 行
【发布时间】:2015-12-08 15:48:24
【问题描述】:

但是,我当前的 gridview 有各种隐藏的行;当我将行复制到 csv 文件中时,它会将隐藏的行显示为空行。但是,我尝试使用 If (DisplaySup.Rows(i).Visible = True) 行绕过空行;空行仍然出现。有解决办法吗?

Protected Sub SheetSave_Click(sender As Object, e As EventArgs) Handles SheetSave.Click

    Response.Clear()
    Response.Buffer = True
    Response.AddHeader("content-disposition", "attachment;filename=gvtocsv.csv")
    Response.Charset = ""
    Response.ContentType = "application/text"
    Dim sBuilder As StringBuilder = New System.Text.StringBuilder()
    For index As Integer = 1 To DisplaySuppliers.Columns.Count - 1
        sBuilder.Append(DisplaySuppliers.Columns(index).HeaderText + ","c)
    Next
    sBuilder.Append(vbCr & vbLf)
    For i As Integer = 1 To DisplaySup.Rows.Count - 1
        For k As Integer = 1 To DisplaySup.HeaderRow.Cells.Count - 1
            If (DisplaySup.Rows(i).Visible = True) Then
                sBuilder.Append(DisplaySup.Rows(i).Cells(k).Text.Replace(",", "").Replace(" ", "") + ",")
            End If
        Next
        sBuilder.Append(vbCr & vbLf)
    Next

    Response.Output.Write(sBuilder.ToString())
    Response.Flush()
    Response.[End]()
End Sub

【问题讨论】:

标签: vb.net csv gridview stringbuilder visible


【解决方案1】:

无论如何,您都在添加换行符 - 您需要在支票内移动它!

例子:

For i As Integer = 1 To DisplaySup.Rows.Count - 1
    If (DisplaySup.Rows(i).Visible = True) Then
        For k As Integer = 1 To DisplaySup.HeaderRow.Cells.Count - 1                
            sBuilder.Append(DisplaySup.Rows(i).Cells(k).Text.Replace(",", "").Replace(" ", "") + ",")              
        Next
        sBuilder.Append(vbCr & vbLf)
    End If        
Next

【讨论】:

  • 哇哦。我认为通过检查在里面会起作用。我的心态有点不对劲,但我松了一口气,我的编码本身就可以工作了 :) 谢谢你帮我解决了我的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多