0

我在 vb.net 工作并尝试更新 dgv 以列出客户名称而不是 ID。我已经拥有了获取给定 id 的客户名称的所有功能,所以这不是什么大问题。我的问题是,当我加载 DataGridView 时,它只会选择 id。

理想情况下,我希望它在加载时拉取名称,但我一直在尝试的是在加载后运行它

For Each row As DataGridViewRow In dgvPhones.Rows
        Dim customerID As String = ""
        Dim customerName As String

        Try
            customerID = row.Cells("Customer").Value.ToString
        Catch ex As Exception

        End Try

        customerName = CCCustomer.SelectByID(customerID).FirstNameLastName

        row.Cells("Customer").Value = customerName

    Next

我插入了几次中断并检查了 IntelliTrace,它提取了正确的值和所有值,但它实际上并没有覆盖 row.Cells("Customer") 中的值。它只是保留原始 ID 号。

更令人困惑的是,我之前使用完全相同的方法在同一位置使用 MEID/ESN 十六进制到十进制转换器完成了此操作,并且效果很好。

有人能看出我的代码有什么问题吗?我尝试使用各种组合来查看它是否由于数据库中的错误值而失败,但它适用于 NULL/0/-1/1/""... 所以我有点迷路了。

4

1 回答 1

0

好吧,这就是我最终要做的。

由于 DataGridView 仅提取 CustomerID,因此我创建了一个名为 CustomerName 的新列并将 CustomerID 隐藏。

然后,我完全按照上面所示运行我的代码,但是让它从 CustomerID 中提取,并写入 CustomerName。

我猜 CustomerID 只能作为整数工作......很奇怪,我找不到该列的属性,说它只能接受整数,但它现在可以工作了。

于 2014-05-15T19:57:08.120 回答