【问题标题】:Edit Entry Length in Dataset编辑数据集中的条目长度
【发布时间】:2012-12-18 21:56:11
【问题描述】:

我是在 VB 中使用数据集的新手,我一直无法找到实现以下目标的指导:

数据集中的一些描述太长了,有没有办法取描述的前 10 个字符?

我尝试过使用:

dataSet.Tables("statement-data").Rows(0).Item(1) = Left(dataSet.Tables("statement-data").Rows(1).Item(1).ToString)

但是我得到一个“Public Property Left As Integer has no parameters and its return type cannot be indexed”错误

示例数据

数据集表:statement-data

Date        Description                         Debit/Credit    Amount
01122012    Computer Equipment for North Office D           1000.00
01122012    Coffee                              D           25.68
02122012    Payment for Service                 C           1500.00

如果有人可以提供帮助,或者将我指向任何好的网站/指南,那就太棒了。 谢谢 马丁

【问题讨论】:

    标签: vb.net dataset


    【解决方案1】:

    您收到此错误的原因是您的代码位于表单(或用户控件)中。 System.Windows.Forms.Form 具有 Left 属性,因此您的 Left 指的是 Form.Left 而不是 Microsoft.VisualBasic.Strings.Left。要克服错误,您可以:

    • Microsoft.VisualBasic.Strings.Left 明确限定Left 方法的使用
    • 改用Substring 方法
    • 将您的代码放在一个单独的类或模块中,Form 的属性不会与之冲突

    【讨论】:

    • 大卫……你太棒了。谢谢
    【解决方案2】:

    使用 .NET 方法,在本例中为 String.Substring

    Dim firstRow = DataSet.Tables("statement-data").Rows(0)
    Dim description = firstRow.Field(Of String)("Description")
    If description.Length > 10 Then
        description = description.Substring(0, 10)
    End If
    

    【讨论】:

    • 感谢蒂姆,我设法让它使用 Microsoft.VisualBasic.Left dataSet.Tables("csv-data").Rows(0).Item(1) = Microsoft.VisualBasic .Left(dataSet.Tables("csv-data").Rows(i).Item(1), 255) 我不知道为什么 Microsoft.VisualBasic.Left 有效而 Left 无效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 2013-05-29
    • 2023-03-18
    相关资源
    最近更新 更多