отформатируйте ячейку datagridview, чтобы отобразить подстроку текста столбца в vb.net
-
19-09-2019 - |
Вопрос
у меня есть столбец item-code внутри моей базы данных, который я привязал к представлению datagrid.Код элемента поставляется в таком формате "A-B-C", я хочу показать только часть кода "B", я привязал этот столбец к gridview и теперь хочу, чтобы он отображал подстроку.Я попробовал defaultcellstyle.формат, но не знаю, как получить для него подстроку.
Решение
Есть ли возможность добавить новое свойство к вашему привязанному объекту, что-то вроде ItemCodePart, которое возвращает среднюю часть вашего item-code, а затем привязать это свойство к столбцу вместо item-code?Это был бы самый простой способ.
Другим вариантом является обработка события форматирования ячейки DataGridView и установка e.Value для части item-кода, которую вы хотите отобразить:
Private Sub myDataGridView_CellFormatting(ByVal sender As Object, ByVal e As DataGridViewCellFormattingEventArgs) Handles myDataGridView.CellFormatting
If e.ColumnIndex = MyItemPartColumn.Index Then
Dim currentValue As String = CStr(myDataGridView.Item(e.ColumnIndex, e.RowIndex).Value)
Dim parts As String() = currentValue.Split(New Char() {"-"c})
e.Value = parts(1)
End If
End Sub
Другие советы
Событие RowDataBound - вы можете отредактировать текст этого поля.