2

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

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

Код:


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 

ответ

0

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

+0

Спасибо ... Если я использую этот код, могу ли я указать положение d контроль atagridview в окне предварительного просмотра? –

+0

Я нашел решение самостоятельно, я установил 240 (вверху) и -45 (слева) в качестве позиции datagridview. Код: дим CellTopPos As Integer = PrintDocument1.PrinterSettings.DefaultPageSettings.Margins.Top + 240 для строки = 0 Для ROWCOUNT - 2 дим CellLeftPos As Integer = PrintDocument1.PrinterSettings.DefaultPageSettings.Margins.Left - 45 - --------------------------------------- В любом случае, благодаря Имрану Али Хану за его время ... –

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