2008-10-07 2 views
1

Мне нужно экспортировать SL DataGrid в HTML, чтобы мои пользователи могли его распечатать. Может ли кто-нибудь поставить меня в правильном направлении?Как экспортировать Silverlight 2.0 DataGrid в html?

Upate: После прочтения ответа Роба я меняю свой вопрос. Вместо Silverlight Grid для HTML я просто хочу экспортировать его в PDF. Кто-нибудь использовал сторонние PDF-генераторы с Silverlight?

ответ

1

HTML - это плохой выбор для печати по нескольким причинам, которые хорошо документированы на этом сайте, поэтому я не буду вдаваться в них.

Я предлагаю вам экспортировать в PDF, а не пытаться идти по маршруту HTML. Для экспорта в PDF существует ряд хороших .Net-инструментов available. Другие варианты включают экспорт вашей сетки в программу для работы с электронными таблицами, например Excel, Spreadsheet Gear или OpenOffice Calc, которая предложит дополнительную функциональность.

+0

Rob, Я согласен, что html - это не лучший выбор, и в формате pdf будет лучше. То, что я ищу, - это сторонний генератор PDF-файлов, который я мог бы экспортировать в сетку, и не должен создавать PDF-файл из источника данных сетки. Я буду, если придется, но сначала ищу ленивое решение. – Kyle 2008-10-07 18:42:25

1

Это может быть натянуто, но как насчет экспорта Silverlight Xaml в XPS и возврата документа XPS пользователю (который можно распечатать). Вы можете скачать free XPS viewer here. Я делал это в прошлом с WPF и XBAP, поэтому я предполагаю, что вы можете сделать это на стороне сервера и позволить пользователю загрузить документ XPS.

1

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

Однако я не отказался бы от идеи генерации HTML для печати в Silverlight 2. Я думаю, что это отличная идея, и я не считаю, что веб-печать сломана. HTML-таблицы с CSS-стилями могут быть действительно полезными.

Недавно я опубликовал сообщение в блоге, описывающее, как использовать клиентские шаблоны ASP.NET AJAX 4.0 для генерации HTML-кода на клиенте с использованием Silverlight 2. Не нужно будет писать кусок кода C# для преобразования любых данных grid к таблице HTML.

Однако, если вы знаете, какие объекты вы показываете в сетке данных, вы можете просто сгенерировать HTML-код самостоятельно, основываясь на вашей структуре объекта.

У вас есть несколько вариантов для генерации HTML в Silverlight:

  • конкатенации строк
  • Использование LINQ для XML, чтобы построить фрагмент HTML
  • Использование Jeff Wilcox HTML Control Library
  • Использование 4.0 клиента ASP.NET AJAX Шаблоны

Вы передаете HTML-код обратно в браузер с помощью HTML-моста (google f или для получения дополнительной информации).

Вы также должны check out my blog post for a comprehensive overview of printing options in Silverlight.

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