0

我有一个包含数据表的变量,如果值为 0,我有条件,我想将其更改为“否”字符串。

这是我的原始代码

dt = BrowseServiceTypeMaster(ServiceTypeName)
lvServiceType.DataSource = dt

For i As Integer = 0 To dt.Rows.Count - 1
    If dt(i)("exception").ToString = "0" Then
        dt(i)("exception") = "No"
    End If
Next

这就是我将其更改为:

For i As Integer = 0 To dt.Rows.Count - 1
    If dt(i)("exception").ToString = "0" Then
        dt(i)("exception").Fill = "No"
    End If
Next

它仍然给我一个错误,有人可以帮助我吗?

4

1 回答 1

1

如果您只想有条件地更改 DataTable 中行中字段的值,请使用以下内容:

For Each row As DataRow In dt.Rows
    If row("exception") = "0" Then
        row("exception") = "No"
    End If
Next

编辑

恐怕你想做的事情是不可能的。您在评论中显示的异常说明了原因:

输入字符串的格式不正确。无法存储在异常列中。预期类型是 Int64。

此异常告诉您您正在尝试将 String 值存储在设置为接受Int64(Long) 的 DataTable 列中。你不能那样做。

您可以使用许多控件,它们提供可自定义的模板,允许您在运行时根据绑定到该控件元素的值指定要向用户显示的文本。

例如,如果您将 DataTable 绑定到 ListView,您会将“异常”列绑定到ItemTemplate,并使用这样的代码在记录值为 0 时显示“否”,并在所有其他情况下显示字段值:

<%#IIf(Eval("exception") = 0, "No", Eval("exception").ToString())%>
于 2013-04-19T03:20:19.643 回答