Обновление DataGridView Cell

Я работаю в vb.net и пытаюсь обновить dgv, чтобы вывести имя клиента вместо ID. У меня уже есть все функции, чтобы получить имя клиента с указанным идентификатором, так что это не большая проблема. Моя проблема в том, что когда я загружаю DataGridView, он выбирает только идентификатор.

В идеале, я хотел бы, чтобы он тянул имя во время загрузки, но я пытался запустить это ПОСЛЕ загрузки

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("Клиент"). Вместо этого он просто сохраняет исходный идентификационный номер.

Чтобы сделать вещи еще более запутанными, я делал это раньше с помощью преобразователя MEID/ESN Hex в Dec в одном и том же месте, используя точно такой же метод, и он прекрасно работает.

Кто-нибудь может увидеть что-то не так с моим кодом? Я пытался использовать различные комбинации, чтобы увидеть, не сработает ли это из-за неверного значения в базе данных, но это работает для NULL/0/-1/1/""... так что я немного потерян.

1 ответ

Хорошо, вот что я в итоге сделал.

Поскольку DataGridView извлекал только CustomerID, я создал новый столбец с именем CustomerName и скрыл CustomerID.

Затем я выполнил свой код точно так же, как показано выше, но сделал так, чтобы он извлекался из CustomerID и записывал в CustomerName.

Я полагаю, что CustomerID работает только как целое число... очень странно, я не смог найти свойство для столбца, говорящее о том, что оно может принимать только целые числа, но оно работает сейчас.

Другие вопросы по тегам