【问题标题】:How to change cell value binded in gridview based on condition using asp vb.net?如何使用asp vb.net根据条件更改gridview中绑定的单元格值?
【发布时间】:2014-01-16 23:11:29
【问题描述】:

我在根据条件更改绑定在 gridview 中的单元格值时遇到问题。数据首先从 csv 文件绑定到 gridview。我想要做的是,每当特定列上的特定单元格满足我提出的条件时,它将更改该特定单元格的值。

例如,如果单元格值等于“PHP”,那么它将变为“Philippines”。 我在 Gridview RowDataBound 事件上尝试了以下代码,但没有任何反应:

 Private Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
    For i As Integer = 0 To GridView1.Rows.Count - 1
        Dim myVal As String = GridView1.Rows(i).Cells(0).Text
        If myVal = "PHP" Then
            GridView1.Rows(i).Cells(0).Text = "Philippines"
        End If
    Next
End Sub

请帮帮我。

提前致谢。

【问题讨论】:

    标签: asp.net vb.net


    【解决方案1】:

    如果您对 GridView1 使用RowDataBound 事件,那么GridView1_RowDataBound对每一行执行,而不仅仅是一次。你应该这样做:

    Private Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
        If e.Row.RowType = DataControlRowType.DataRow Then
            Dim myVal As String = e.Row.Cells(0).Text
            If myVal = "PHP" Then
                e.Row.Cells(0).Text = "Philippines"
            End If
        End If
    End Sub
    

    【讨论】:

      【解决方案2】:

      如果它绑定到 CSV,您有两个选择:

      1. 要么更改 CSV 中的数据并重新绑定,要么
      2. 无需将表格绑定到 CSV,只需输入 CSV 中的数据,然后您就可以独立于 CSV 更改表格。

      如果您想同时更改 CSV 和表格,请选择选项 1。如果您不关心 CSV 或者想要创建单独的输出,请选择选项 2。

      *编辑添加一些代码

      您只需像往常一样将其读入表格。由于它是 CSV,我个人会将其更改为 .txt 文件以使其更容易。那么:

      dim reader as string() = input.txt
      
      for x as integer = 0 to reader.length -1
          dim split as string() = reader(x).split(","c)
      
          for y as integer from 0 to split.length - 1
             datagridview.cells(y+1,x+1) = split(y)
          next
      next
      

      这是未经测试的,但它应该符合这些原则(我不知道 CSV 的格式)。如果你有不均匀的行,如果你做这样的事情可能会更好

      for each str as String in Split
          add to datagrid...
      next
      

      【讨论】:

      • 但是先生这并不理想,因为 csv 文件来自 url 地址,我无法更改数据。
      • 那么不用绑定数据,直接导入数据即可。通过绑定数据,您是说这两个对象在 100% 的时间里都是相同的(它们是绑定的)。因此,如果您只是导入数据,那么您可以更改其中一个而无需影响另一个。
      • 先生,您能发布一些关于如何从 url 地址导入 csv 数据的代码吗?如果你没问题
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-02
      • 2011-03-09
      • 2021-09-11
      相关资源
      最近更新 更多