печать datagrid

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
skulida
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 28.06.2003 (Сб) 12:16
Откуда: Санкт-Петербург

печать datagrid

Сообщение skulida » 15.02.2004 (Вс) 12:40

Извиняюсь, но в поиске ничего не нашел...
Подскажите как в заполненном на форме Datagrid можно получить содержимое нужных ячеек строк, чтобы затем вывести их на печать.
Пробую печатать объектом printer
printer.print datagrid1
печатается только первая ячейка первой строки...
Спасибо.

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 16.02.2004 (Пн) 11:40

Учиться - значит открывать для себя то, что уже знаешь. <...> Учить - значит напоминать другим о том, что они знают это также хорошо, как и ты. <...> Лучше всего ты учишь тому, чему тебе самому больше всего надо научиться. (Р. Бах)

skulida
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 28.06.2003 (Сб) 12:16
Откуда: Санкт-Петербург

Сообщение skulida » 17.02.2004 (Вт) 12:05

Rainbow писал(а):http://bbs.vbstreets.ru/viewtopic.php?p=23950&highlight=#23950


спасибо, но есть одно но...
у меня используется Datagrid, а не MSFlexGrid и у него нет такого метода как Clip. Есть .SelEndCol при помощи которого выделяю нужные столбцы. Как это выделение можно поместить в txt файл.
Народ подскажите, ведь можно же как то?????

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 17.02.2004 (Вт) 16:12

Как выделенную часть целиком поместить - не знаю

Можешь пробежаться в цикле, меняя Col и Row, сформировать строчку, используя свойство Text или Value, потом эту строчку напечатать....

Если используешь в качестве DataSource ADOшный рекордсет, то посмотри на метод GetString.
Учиться - значит открывать для себя то, что уже знаешь. <...> Учить - значит напоминать другим о том, что они знают это также хорошо, как и ты. <...> Лучше всего ты учишь тому, чему тебе самому больше всего надо научиться. (Р. Бах)

skulida
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 28.06.2003 (Сб) 12:16
Откуда: Санкт-Петербург

Сообщение skulida » 17.02.2004 (Вт) 19:37

Rainbow писал(а):Можешь пробежаться в цикле, меняя Col и Row, сформировать строчку, используя свойство Text или Value, потом эту строчку напечатать....
.


Так, к сожалению, тоже не получается...
Пишет Invalid row number как только номер строки datagrid'а выходит за область видимости datagrid без прокрутки...

Может быть как то можно выделенную часть в буфер обмена??

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 18.02.2004 (Ср) 18:07

:( не похоже, что можно...
а у тебя грид с рекордсетом связан? если да, то может через него попробуешь?..

Код: Выделить всё
Dim i As Long, j As Long
Dim s As String
Dim rs As Recordset

Set rs = Adodc1.Recordset.Clone
rs.MoveFirst
For i = 0 To rs.RecordCount - 1
    If s <> "" Then s = s & vbCrLf
    For j = DataGrid1.SelStartCol To DataGrid1.SelEndCol
        s = s & rs(j) & vbTab
    Next
    rs.MoveNext
Next


рекордсет клонрую, чтоб грид не реагировал на всякие MoveNext
Учиться - значит открывать для себя то, что уже знаешь. <...> Учить - значит напоминать другим о том, что они знают это также хорошо, как и ты. <...> Лучше всего ты учишь тому, чему тебе самому больше всего надо научиться. (Р. Бах)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25

    TopList