Как назначить форматированное значение столбца в datatable - PullRequest
0 голосов
/ 30 сентября 2019

Я выполняю запрос select avg, min, max from table

Теперь у меня есть данные.

Запрос возврата десятичных и целочисленных значений. Для десятичного числа я должен с точностью до запятой отформатировать, а для целого числа - просто через запятую и показать данные.

Теперь я перебираю каждую строку столбца и форматирую как:

String.Format("{0:#,#,0.00}", resultDataTable.Rows[0][0])

Это дает мне желаемый результат "1,555,222.20"

Теперь я должен назначить его для resultDataTable.Rows [0] [0], чтобы он был таким же в UI

Его не присваивают

1 Ответ

0 голосов
/ 30 сентября 2019

Если вы можете изменить тип столбца

Учитывая то, что вы спросили, похоже, у вас есть две разные таблицы данных. Я думаю, что вы можете полностью различать, что у вас есть за кулисами и что вы собираетесь изобразить в пользовательском интерфейсе. Поэтому одним из вероятных решений является сохранение отформатированных данных в строковом столбце. Таким образом, изменив тип столбца данных, вы можете просто достичь того, что ищете.

System.Data.DataTable table = new DataTable("Table");
column.DataType = System.Type.GetType("System.String");
table.Columns.Add(column);

Используя эту стратегию, вам не нужно форматировать полученный десятичный элемент.

Если вы ограничены использованием конкретной таблицы данных

Даже если вы ограничены в использовании конкретной таблицы данных, у вас не должно быть никаких проблем. Единственное, что вам нужно сделать, это отформатировать полученные данные внутри пользовательского интерфейса.

Надеюсь, этот ответ полезен.

...