2013-05-26 4 views
0

В моей гриде отображаются все десятичные позиции, которые поступают из текстового файла.Datagridview - десятичные позиции в VB.net

Например: Вес столбец в таблице имеет: 1.000

Но когда я пытаюсь получить значение из DataGridView он показывает только один (1) не с позиций после запятой.

Value = DgdOrderInfo.Rows(Intcnt).Cells("Weight").Value.ToString.Trim 

Дайте мне знать, как я могу получить все значения цифр?

+0

Странно, я предположил, что когда я ответил на вопрос, что вы работаете на C#, потому что фрагмент кода выглядит как C#. Затем я заметил тег VB.NET ... –

ответ

0

Каждую ячейку в DataGridView можно применить к ней DataGridViewCellStyle, которая содержит (помимо всего прочего) Format property, который определяет, как должно отображаться содержимое этой ячейки. И целой колонке или строке может быть назначен стиль ячейки по умолчанию, который он использует для всех ячеек в этой строке.

Так что, вероятно, происходит то, что у вас есть строка форматирования, используемая для столбца «Вес», который форматирует все значения с тремя конечными десятичными знаками. Когда вы извлекаете значение, оно фактически равно только 1, но оно отображается как 1.000 из-за правил форматирования, применяемых ко всем ячейкам в этом столбце.

Если вы хотите получить это отформатированное значение, вы можете сделать это, обратившись к свойству FormattedValue, а не к свойству Value. Необходимые изменения в коде просты:

string value = DgdOrderInfo.Rows(Intcnt).Cells("Weight").FormattedValue.ToString.Trim 

Я также сомнения, очень серьезно, что есть необходимость вызвать Trim метод на обратной последовательности.

+0

спасибо за вашу помощь, в сетке Вес имеет разный десятичный формат. вначале он имеет 0 десятичных знаков. в 2-й строке он имеет 2 десятичных значения.: 2.15. он отображается правильно. но когда десятичная позиция равна нулю, только она не отображается. – Kavitha

+0

Правильно, потому что 0s на самом деле нет. Они бессмысленны. '1.000' точно так же, как' 1'. Это не относится к «2.15», это совсем другое значение от «2». Разница в производительности контролируется правилами форматирования. –

+0

Спасибо, есть ли шанс получить все значения. – Kavitha

Смежные вопросы