Формат десятичных значений формата DataGridView с AutoGenerateColumns - PullRequest
2 голосов
/ 03 апреля 2012

У меня есть сетка данных, которая использует AutoGenerateColumns в winforms.Существует столбец даты, а затем 1-16 столбцов данных, содержащих числовые значения.Я хочу, чтобы все эти 1-16 столбцов данных были отформатированы до 4 десятичных знаков.

Согласно этому сообщению , вы устанавливаете DefaultCellStyle через конструктор.Я сделал это вручную, чтобы получить формат, который я хочу использовать.Я установил это в конструкторе формы:

this.dgv_PreviewGrid.DefaultCellStyle.Format = "N4";

Я попытался установить его таким образом, а также попытался вручную в каждом столбце события DataBindingComplete. Ничего не происходит! Приложение отстает, как будто оно выполняет округление, но не делает этого.

Кроме того, есть ли ссылка на msdn или что-то со списком форматов DefaultCellStyle?Не удалось их найти.

РЕДАКТИРОВАТЬ: я обнаружил, что использование формата "D4" вместо "N4" (десятичное число против числа) ->, вероятно, формат, который я хочу, но он все еще не работает.

1 Ответ

3 голосов
/ 03 апреля 2012

Требуемая страница MSDN: Строки стандартного числового формата .

Требуется спецификатор формата N или F, а не D. D для целых чисел.

Настройкаgrid.DefaultCellStyle.Format должен работать, но, поскольку у вас есть столбец даты, вам нужно переопределить этот столбец DefaultCellStyle, иначе даты не будут отображаться.

Каков фактический тип числового свойства в вашем источнике данных?Вы уверены, что это не строка?Как вы заполняете DataGridView?

Без дополнительной информации трудно угадать проблему.Это может помочь, если вы покажете код, который заполняет DataGridView.

...