Как я могу печатать данные из DataGridView в C#?

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

Я использую Visual Studio 2008 и C# 3.5

1 ответов


нет никакой поддержки печати, встроенной в DataGridView, поэтому вам придется реализовать это самостоятельно. Существует несколько возможных решений:

  1. WinForms тут обеспечьте стандартную систему печатания, которую вы можете использовать для печати вне содержания вашего DataGridView управление. Вы захотите использовать PrintDocument класс, поэтому соответствующий документация - отличное место, чтобы начать чтение. Преимущество этого метода в том, что он позволяет вы полностью контролируете формат и макет печатного документа.

  2. вы можете экспортировать данные из своего DataGridView в Microsoft Excel, а затем распечатать его оттуда. Excel имеет гораздо более надежную встроенную поддержку печати.

  3. если вы не заинтересованы в прокатке собственного решения, вы можете просмотреть CodeProject для некоторых уже разработанных решений. Например:

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

  4. если вы за действительно хакерское решение (и у вас нет желания или необходимости настраивать макет или дизайн печатного вывода), вы можете использовать DrawToBitmap метод, открытый каждым элементом управления. Это действительно быстрый и грязный подход, который рисует точное изображение DataGridView управление, как он появляется на экране до Bitmap, который затем можно передать непосредственно на принтер.