Лучший способ представить формат для представления ячеек в сетке? - PullRequest
0 голосов
/ 20 мая 2009

Я создаю функцию динамической отчетности для клиента. Они хотят создавать новые хранимые процедуры, и они должны соответствовать новым отчетам. Мы используем T-SQL, и каждая ячейка в таблице / отчете может иметь свое собственное форматирование и / или функциональность.

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

{данные} | {формат}
123,56 | $ #, ## 0,00

Результаты в ... $ 123.56

Я ищу стандартные способы представления поля форматирования с возможностью использования цветов и условных обозначений. Там уже есть какой-то стандарт?

1 Ответ

1 голос
/ 20 мая 2009

Все зависит от того, что вы ищете. Вы должны спросить себя, какие типы форматирования вы хотите применить. Вот некоторые случаи, которые вы можете рассмотреть:

  • Встроенное форматирование

    Хотите ли вы, чтобы ячейка содержала смешанное форматирование (например, " 1234 . 567 " показывает жирный, обычный и курсив в одной ячейке)?

  • Мультиколонка вывод на основе

    Хотите вывести значение в ячейку, основанную на нескольких ячейках?

    Cell1="1234"
    Cell2="56"
    Cell3={Cell1}.{Cell2} 
    ---> which would output "1234.56"
    

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

  • Форматирование "1234.5678" в "1234.56" является преобразованием. Это должно быть сделано с помощью кода, который знает, как интерпретировать значение как число и как превратить это число в текстовую строку цифр-символов.

  • Создание ячейки синим, или текста красным, или жирным шрифтом - это все визуальные преобразования, которые являются просто набором атрибутов, касающихся отображения данных в ячейке. Здесь нас не волнует тип данных в ячейке, поскольку нам просто нужно разместить пиксели на экране.

Итак, в заключение: все, что вы хотите, чтобы произошло. Если вы создаете отчеты в формате HTML, то HTML и CSS являются очень удобными методами описания форматирования визуальных эффектов в ячейке, поскольку вам не придется преобразовывать его дважды.

Насколько я знаю, существует только пара стандартов для кодирования отображения визуальных эффектов, и они похожи на SGML - TeX, HTML, PostScript и т. Д .; все они имеют «теги» (иногда с «атрибутами») для изменения отображения содержимого в теге.

Что оставляет нам трансформационное форматирование. Было два общих подхода к этому. Первый процедурный. Вы перечисляете набор преобразований, которые вы хотите сделать с данными, чтобы превратить их в текст. В настоящее время мы часто используем маски подстановки, как в вашем примере, $#,##0.00, или как sprintf s %.2f и т. Д.

Опять же, просто выберите спецификатор форматирования, который проще всего использовать в вашей среде. Если вы пишете на языке, который принимает определенный формат, используйте его!

...