【问题标题】:Edit value in datatable variable in asp.net(vb)在 asp.net(vb) 中编辑数据表变量中的值
【发布时间】:2013-04-12 08:50:24
【问题描述】:

我有一个包含数据表的变量,如果值为 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

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

【问题讨论】:

  • 显示?显示在哪里?
  • @JayRiggs,我的意思是我会将“0”值设置为“no”值

标签: asp.net vb.net ado.net datatable


【解决方案1】:

如果您只想有条件地更改 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,您会将“异常”列绑定到 ItemTemplate,并使用这样的代码在记录值为 0 时显示“否”并显示字段的值其他情况:

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

【讨论】:

  • 感谢您的回答,但它返回另一个错误“输入字符串的格式不正确。无法将 存储在异常列中。预期类型为 Int64。”
  • 如果您希望存储“否”,则需要将该列的基础类型更改为string。看来它目前是long (Int64)。 DataTable 是与数据库中的物理表绑定的,还是只是在内存中创建的?
  • 谢谢雷, 效果很好:)
猜你喜欢
  • 1970-01-01
  • 2017-08-26
  • 1970-01-01
  • 1970-01-01
  • 2011-01-12
  • 2017-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多