Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Lev436
0 / 0 / 0
Регистрация: 08.06.2016
Сообщений: 76
1

Как вывести строку из DataGridView в Предварительный просмотр

17.06.2017, 08:26. Просмотров 399. Ответов 9
Метки нет (Все метки)

Как вывести строку из DataGridView в Предварительный просмотр на VB 2010.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2017, 08:26
Ответы с готовыми решениями:

Каким образом вывести данные формы в предварительный просмотр и печать?
Здравствуйте. Есть форма с кучей комбоксов, и текстбоксов, после заполнения...

Предварительный просмотр в проводнике Windows
Всем привет! Ребят подскажите пожалуйста. Вот моя программа читает файлы...

Можно ли использовать предварительный просмотр для тестирования без подключенного принтера
Среда Visual Basic STUDIO’2010 Professional необходимо научиться реализовать...

Как в DataGridView записать программно данные, добавить строку и вывести туда итог
Доброе время суток! Подскажите пожалуйста как сделать следующее У меня...

DataGridView По номеру строку вывести в сообщении содержимое ячеек
На форме datagridview с данными, кнопка и текстовое поле. в текстовое поле...

9
ovva
2556 / 2105 / 517
Регистрация: 02.02.2013
Сообщений: 1,977
Записей в блоге: 2
17.06.2017, 20:42 2
Цитата Сообщение от Lev436 Посмотреть сообщение
Предварительный просмотр
Непонятно, что это такое.

Добавлено через 7 часов 31 минуту
Если речь о PrintPreview, то можно так. Правда, не могу понять, зачем бы это могло понадобиться.
Кликните здесь для просмотра всего текста
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private rw As DataGridViewRow
Private fmt As StringFormat
Private Sub SelectionPrintPreview_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    If DataGridView1.SelectedRows.Count = 0 Then Exit Sub
    rw = DataGridView1.SelectedRows(0)
    fmt = New StringFormat
    fmt.LineAlignment = StringAlignment.Center
    fmt.Alignment = StringAlignment.Near
    PrintPreviewDialog1.ClientSize = New Size(700, 400)
    PrintPreviewDialog1.PrintPreviewControl.Zoom = 1.4
    PrintPreviewDialog1.Document = PrintDocument1
    PrintPreviewDialog1.ShowDialog()
End Sub
Private Sub PrintDocument1_PrintPage(sender As System.Object, e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
    Dim x As Single = 100, y As Single = 50
    For Each cell As DataGridViewCell In rw.Cells
        Dim rc As RectangleF = New RectangleF(x, y, cell.Size.Width, cell.Size.Height)
        'e.Graphics.FillRectangle(Brushes.LightGray, rc.Left, rc.Top, rc.Width, rc.Height) 'добавить фон
        'e.Graphics.DrawRectangle(Pens.Black, rc.Left, rc.Top, rc.Width, rc.Height) 'добавить границы
        e.Graphics.DrawString(cell.Value.ToString, DataGridView1.DefaultCellStyle.Font, Brushes.Black, rc, fmt)
        x += rc.Width
    Next
End Sub
2
Lev436
0 / 0 / 0
Регистрация: 08.06.2016
Сообщений: 76
19.06.2017, 09:59  [ТС] 3
Почему то не работает! Пишет ошибку!
0
ovva
2556 / 2105 / 517
Регистрация: 02.02.2013
Сообщений: 1,977
Записей в блоге: 2
19.06.2017, 13:50 4
Lev436, вы бы привели описание, как вы этот код пытаетесь использовать, какие ошибки возникают, иначе это пустые слова ни о чем.
0
Lev436
0 / 0 / 0
Регистрация: 08.06.2016
Сообщений: 76
20.06.2017, 16:32  [ТС] 5
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Dim sf As New StringFormat(StringFormatFlags.LineLimit)
        sf.Alignment = StringAlignment.Center
        sf.LineAlignment = StringAlignment.Center
        Dim startx As Integer = 50
        Dim starty As Integer = 270
        Static starpage As Integer = 0
        For p As Integer = starpage To pages.Count - 1
 
        Next
        ' For r As Integer=pages 
        'Dim colunmsum As Integer = Form1.DataGridView1.RowHeadersWidth
        'For i = 0 To Form1.DataGridView1.CurrentCell.RowIndex - 1
 
        'If colunmsum + Form1.DataGridView1.Columns(i).Width < Max Then
 
 
        ' e.Graphics.DrawString(Form1.DataGridView1.Item(Form1.Avtor.HeaderText, ).Value.ToString, SystemFonts.CaptionFont, Brushes.Black, 50, 99)
        'Dim ce1 = Form1.DataGridView1.CurrentCell.RowIndex
        'e.Graphics.DrawString(Form1.DataGridView1.Item(Form1.Nasvanie.HeaderText, ce1).Value.ToString, SystemFonts.CaptionFont, Brushes.Black, 130, 99)
        'Dim ce2 = Form1.DataGridView1.CurrentCell.RowIndex
        'e.Graphics.DrawString(Form1.DataGridView1.Item(Form1.Tip_izdaniya.HeaderText, ce2).Value.ToString, SystemFonts.CaptionFont, Brushes.Black, 340, 99)
        'Dim ce3 = Form1.DataGridView1.CurrentCell.RowIndex
        'e.Graphics.DrawString(Form1.DataGridView1.Item(Form1.Mesto_izdania.HeaderText, ce3).Value.ToString, SystemFonts.CaptionFont, Brushes.Black, 450, 99)
        'Dim ce4 = Form1.DataGridView1.CurrentCell.RowIndex
        'e.Graphics.DrawString(Form1.DataGridView1.Item(Form1.God_izdania.HeaderText, ce4).Value.ToString, SystemFonts.CaptionFont, Brushes.Black, 490, 99)
        'Dim ce5 = Form1.DataGridView1.CurrentCell.RowIndex
        'e.Graphics.DrawString(Form1.DataGridView1.Item(Form1.Izdatelstvo.HeaderText, ce5).Value.ToString, SystemFonts.CaptionFont, Brushes.Black, 520, 99)
        'Dim ce6 = Form1.DataGridView1.CurrentCell.RowIndex
        'e.Graphics.DrawString(Form1.DataGridView1.Item(Form1.Stranica.HeaderText, ce6).Value.ToString, SystemFonts.CaptionFont, Brushes.Black, 570, 99)
        ' Next
Добавлено через 3 минуты
А как вывести в текстовом виде, а не в виде графического изображения?
0
Orlangur1991
1343 / 1139 / 278
Регистрация: 28.11.2014
Сообщений: 1,814
20.06.2017, 16:34 6
Lev436,
vb.net
1
Form1.DataGridView1.Item(Form1.Stranica.HeaderText, ce6).Value.ToString
?
0
Lev436
0 / 0 / 0
Регистрация: 08.06.2016
Сообщений: 76
20.06.2017, 18:27  [ТС] 7
Я имел ввиду все заполненные строки. а не одну!

Добавлено через 51 секунду
В PrintPreviewDialog1.
0
ovva
2556 / 2105 / 517
Регистрация: 02.02.2013
Сообщений: 1,977
Записей в блоге: 2
20.06.2017, 19:04 8
Цитата Сообщение от Lev436 Посмотреть сообщение
Как вывести строку из DataGridView в Предварительный просмотр на VB 2010.
Посмотрите http://www.cyberforum.ru/post10032653.html
PS. Как видно русский язык, великий и могучий, по утверждению некоторых, не в состоянии передать ваших запросов и чаяний.
1
Lev436
0 / 0 / 0
Регистрация: 08.06.2016
Сообщений: 76
21.06.2017, 06:15  [ТС] 9
Выдает ошибку в строке For Each cell As DataGridViewCell In rw.Cells
Пишет: Ссылка на объект не указывает на экземпляр объекта.
0
ovva
2556 / 2105 / 517
Регистрация: 02.02.2013
Сообщений: 1,977
Записей в блоге: 2
21.06.2017, 13:06 10
Выдает ошибку в строке For Each cell As DataGridViewCell In rw.Cells
Если речь о приведенном выше примере, то стоит напомнить его смысл: значения выделенной в DataGridView1 строки выводятся в PrintDocument1. Если cell.Value=Nothing то получаем соответствующую ошибку. Предполагалась, что строка заполнена, иначе нужно предусмотреть обработку подобных ситуаций.
А как вывести в текстовом виде, а не в виде графического изображения?
Строки DataGridView можно вывести в виде текста (и соответственно сохранить), например
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    TextBox1.Font = New Font(FontFamily.GenericMonospace, 9)
    TextBox1.Clear()
    Dim ss As String = String.Empty
    For Each rw As DataGridViewRow In DataGridView1.Rows
        ss = ""
        If rw.IsNewRow Then Continue For
        For Each cell As DataGridViewCell In rw.Cells
            ss &= cell.Value.ToString.PadRight(10)
        Next
        TextBox1.AppendText(ss & vbCrLf)
    Next
End Sub
0
Миниатюры
Как вывести строку из DataGridView в Предварительный просмотр  
21.06.2017, 13:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2017, 13:06

Как правильно добавить строку в datagridview
При заполнении новой строки использую dataGridView1_DefaultValuesNeeded (беру...

Как программно выделить строку в DataGridView
Как программно выделить строку в DataGridView? Подскажите плиз.

Как выбрать всю строку в DataGridView?
Добрый ночь всем. Как сделать так что при нажатие на любой Cells DGV выделялся...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru