Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/16: Рейтинг темы: голосов - 16, средняя оценка - 4.69
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379

DataGrid: заполнить определенную ячейку и вывести содержимое на печать

26.05.2012, 08:24. Показов 3185. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите пожалуйста, как в таблице data grid заполнить например ячейку [1,2]? Так не получается:
Visual Basic
1
DataGrid1.Item(1, 1) = "dujh"
И еще один вопрос. Как вывести таблице на печать? Заранее спасибо. В интернете совсем на эту тему не нашел.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.05.2012, 08:24
Ответы с готовыми решениями:

Как вывести содержимое DataGrid на печать?
Подскажите пожалуйста как можно по нажатию кнопки вывести на печать то что в данный момент выводиться в DataGrid?

Как вывести на печать содержимое DataGrid или DataTable
Добрый вечер! Как вывести на печать содержимое DataGrid или DataTable, все что гуглю попадается на WinForms :( Наводочку дайте...

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

10
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
26.05.2012, 08:55
Может лучше использовать MSFlexGrid? Его можно заполнять как с рекордсетом так и без, обычными операторами.
Типа так
Visual Basic
1
MSFlexGrid1.TextMatrix(1, 1) = Student(1).Familia
1
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379
26.05.2012, 10:16  [ТС]
спасибо!
Это MSFlexGrid или обычный грид?
А напечатать как, незнаете?
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
26.05.2012, 11:49
Цитата Сообщение от Илья01 Посмотреть сообщение
А напечатать как, незнаете?
Visual Basic
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
Private Sub Command1_Click()
Dim pagex As Integer, pagey As Integer
Dim rost As Integer, tolst As Integer
Dim x As Integer, y As Integer
Dim tabtall As Integer, tabtolst As Integer
Dim i As Integer, j As Integer, tolstsim As Integer
Dim stlen As Integer, st As String, sim As Integer
Dim strok As String, k As Integer, counter As Integer
Dim alignflag As Integer, tolstst As Integer
Dim y1 As Integer, stroka As String, n As Integer
'включаем обработку нажатия клавиши ОТМЕНА
On Error GoTo 1
Dialog1.CancelError = True
'Выводим окно выбора принтера
Dialog1.ShowPrinter
'Определить ширину листа
pagex = Printer.ScaleWidth
'определить высоту листа
pagey = Printer.ScaleHeight
'Вычислить ширину таблицы
For i = 0 To Grid.Cols - 1
tabtolst = tabtolst + Grid.ColWidth(i)
Next i
'вычисляем начальную точку х так, что бы таблица была по середине листа
x = pagex / 2 - tabtolst / 2
'задать начальную точку y
y = 0.1 * pagey
y1 = y
'Устанавливаем шрифт для принтера
Printer.FontName = Grid.Font.Name
Printer.FontSize = Grid.Font.Size - 1
'вывод таблицы
For i = 0 To Grid.Rows - 1
'задаем начальное значение для вывода ячеек строки
x = pagex / 2 - tabtolst / 2
Grid.Row = i
For j = 0 To Grid.Cols - 1
Grid.Col = j
'определить ширину и высоту текущей ячейки
rost = Grid.RowHeight(i)
tolst = Grid.ColWidth(j)
'Определить тип выравнивания текста
alignflag = Grid.CellAlignment
'рисуем ячейку
Printer.Line (x, y)-(x + tolst, y + rost), vbBlack, B
 
'Получаем текст из ячейки
stroka = Grid.Text
'Вычислить ширину текста
tolstst = Printer.TextWidth(stroka)
 
'Если ширина строки больше чем ширина столбца
If tolstst > tolst Then
'Получить ширину одного символа
tolstsim = Int(tolstst / Len(stroka))
'Получить воозможное кол-во символов в одной строке
n = Int(Grid.ColWidth(j) / tolstsim)
'Просматриваем посимвольно строку и формипуем подстроки
For k = 1 To Len(stroka) Step n
st = st + Mid(stroka, k, n)
'Выводим подстроку с учетом выравнивания текта в ячейке
Select Case alignflag
Case 0 To 2
Printer.CurrentX = x + 20
Case 3 To 4
Printer.CurrentX = x + Grid.ColWidth(j) / 2 - Printer.TextWidth(st) / 2
Case 5 To 6
Printer.CurrentX = x + 20
End Select
Printer.CurrentY = y1 + 20
Printer.Print st
y1 = y1 + Printer.TextHeight(st)
st = ""
Next k
'Возвращаем y1 в норму
    y1 = y
 
'если ширина строки меньше чем ширина текущего столбца
Else
'печатаем текст в одну строку
Select Case alignflag
Case 3 To 4
Printer.CurrentX = x + Grid.ColWidth(j) / 2 - Printer.TextWidth(stroka) / 2
Case 0 To 2
Printer.CurrentX = x + 20
Case 5 To 6
Printer.CurrentX = x + 20
End Select
Printer.CurrentY = y + Grid.RowHeight(i) / 2 - Printer.TextHeight(stroka) / 2
Printer.Print stroka
    
End If
 
'смещаем x на ширину предыдущего столбца
x = x + tolst
Next j
'смещаем y на высоту предыдущей строки
y = y + rost
If y >= 0.9 * pagey Then
Printer.NewPage
y = 0.1 * pagey
End If
Next i
Printer.EndDoc
Exit Sub
1:
Exit Sub
End Sub
2
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379
26.05.2012, 13:06  [ТС]
Спасибо! Два вопроса:
Grid.Font.Size - это переделать под название моего грида?
И второй: нужно ли на форму добавлять еще какие-то компоненты?
0
Заблокирован
26.05.2012, 15:30
Цитата Сообщение от Илья01 Посмотреть сообщение
Grid.Font.Size - это переделать под название моего грида?
Это размер шрифта Grid
1
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379
26.05.2012, 15:57  [ТС]
просто у меня не работает. Ошибки нет. Просто не работает

Добавлено через 3 минуты
я не о том. Мне место Grid.Font.Size, написать MSFlexGrid1.Font.Size?
0
Заблокирован
26.05.2012, 15:58
Цитата Сообщение от Илья01 Посмотреть сообщение
я не о том. Мне место Grid.Font.Size, написать MSFlexGrid1.Font.Size?
Ну если у тебя MSFlexGrid1 на форме тогда пиши, а если DataGrid тогда не пиши, тут вроде ответ очевиден ! ! ! !
1
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379
26.05.2012, 16:01  [ТС]
А, кстати, тут используются диалоговые окна выбора принтера. Какие компоненты сунуть на форму?
0
Заблокирован
26.05.2012, 16:08
Кнопку с именем Command1, компонент для работы с диалоговыми окнами с именем Dialog1 далее смотрите сами, читайте вам все написали...
0
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379
26.05.2012, 16:27  [ТС]
все, дошло
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.05.2012, 16:27
Помогаю со студенческими работами здесь

Как по нажатию на определённую строку в dataGrid вывести на Picture Box картинку
Здравствуйте помогите пожалуйста решить проблему В таблице 11 столбцов и 20 строк. Нужно что бы при нажатии на определённую строку в...

Вывести на печать содержимое Picturebox
Всем привет! я новичек, прошу помочь! Не могу никак вывести на печать содержимое Picturebox Пожалуйста подскажите! Заранее...

Вывести содержимое формы на печать
Как распечатать окно ?

Вывести на печать содержимое формы
как вывести на печать содержимое формы?

Вывести на печать содержимое DataGridView
Ни разу не работал с этой функцией, да и в нете не много информации. Буду рад любым подсказкам.


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru