在asp.net(vb)中编辑datatable变量中的值

在asp.net(vb)中编辑datatable变量中的值,asp.net,vb.net,ado.net,datatable,Asp.net,Vb.net,Ado.net,Datatable,我有一个包含datatable的变量,我有一个条件,如果值为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") = "

我有一个包含datatable的变量,我有一个条件,如果值为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

它仍然会给我一个错误,有人能帮我吗?

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

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

编辑

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

输入字符串的格式不正确。无法储存 例外列。应为Int64类型

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

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

例如,如果要将DataTable绑定到ListView,则需要将“exception”列绑定到一个列表视图,并使用如下代码在记录的值为0时显示“No”,在所有其他情况下显示字段的值:

<%#IIf(Eval("exception") = 0, "No", Eval("exception").ToString())%>


显示?显示位置?@JayRiggs,我的意思是我会将“0”值设置为“否”值谢谢你的回答,但它返回另一个错误“输入字符串格式不正确。无法存储在异常列中。预期类型为Int64”。如果要存储“否”,需要将该列的基本类型更改为
字符串
。看起来它当前是一个
Int64
)。DataTable是绑定到数据库中的物理表,还是只是在内存中创建的?谢谢,ray,工作正常:)