Просмотр Datagridview в окне предварительного просмотра перед печатью

Я создаю приложение в vb.net. У меня есть элемент управления datagridview в моей форме VB. Мне нужно просмотреть его в окне предварительного просмотра с содержимым в нем. У меня есть другие элементы управления, такие как метки и текстовые поля в форме, и я могу просматривать все в режиме предварительного просмотра. В случае управления Datagridview у меня есть рабочий код предварительного просмотра, который я получил из сети. Моя проблема в том, что мне нужно изменить позиции x и y элемента управления datagridview. В следующем коде элемент управления datagridview отображается поверх других элементов управления. Я не знаю, как это сделать в этом коде. Пожалуйста помогите. Мне нужно изменить позиции x и y DataGridView, как указано в приведенном ниже коде (50 и 225). e.Graphics.DrawString(Label7.Text, Label7.Font, Brushes.Black, 50, 225)

Код, который я использовал для отображения сетки, приведен ниже.

Код :


Dim ColumnCount As Integer = DataGridView1.ColumnCount Dim RowCount As Integer = DataGridView1.RowCount

    Dim CellTopPos As Integer = PrintDocument1.PrinterSettings.DefaultPageSettings.Margins.Top

    For Row = 0 To RowCount - 2

        Dim CellLeftPos As Integer = PrintDocument1.PrinterSettings.DefaultPageSettings.Margins.Left

        For Cell = 0 To ColumnCount - 1

            Dim CellValue As String = DataGridView1.Rows(Row).Cells(Cell).Value.ToString()
            Dim CellWidth = DataGridView1.Rows(Row).Cells(Cell).Size.Width + 10
            Dim CellHeight = DataGridView1.Rows(Row).Cells(Cell).Size.Height

            Dim Brush As New SolidBrush(Color.Black)
            e.Graphics.DrawString(CellValue, New Font("arial", 9), Brush, CellLeftPos, CellTopPos)
            e.Graphics.DrawRectangle(Pens.Black, CellLeftPos, CellTopPos, CellWidth, CellHeight)

            CellLeftPos += CellWidth
        Next

        CellTopPos += DataGridView1.Rows(Row).Cells(0).Size.Height
    Next

person Rahul S Kumar    schedule 23.10.2014    source источник


Ответы (1)


Используйте этот класс. К сожалению, существует ограничение на количество символов, поэтому я не могу опубликовать код http://www.codeproject.com/Articles/18042/Another-DataGridView-Printer

person Imran Ali Khan    schedule 25.10.2014
comment
Спасибо... Если я использую этот код, могу ли я указать положение элемента управления datagridview в окне предварительного просмотра? - person Rahul S Kumar; 27.10.2014
comment
Я сам нашел решение, я установил 240 (вверху) и -45 (слева) в качестве позиции datagridview. код: Dim CellTopPos As Integer = PrintDocument1.PrinterSettings.DefaultPageSettings.Margins.Top + 240 For Row = 0 To RowCount - 2 Dim CellLeftPos As Integer = PrintDocument1.PrinterSettings.DefaultPageSettings.Margins.Left - 45 -------- ---------------------------------- В любом случае, спасибо Имрану Али Кхану за его время... - person Rahul S Kumar; 27.10.2014