Обновление 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 работает только как целое число... очень странно, я не смог найти свойство для столбца, говорящее о том, что оно может принимать только целые числа, но оно работает сейчас.