سوال در مورد datagrid

mehdi218

New Member
سلام دوستان

من تو یه برنامه vb6 میخوام datagrid رو پرینت كنم كسی میتونه كنك كنه؟
 

AMiR

Active Member
سلام
خوش اومدي
ببين اين به كارت مياد؟ از تو سرچ گوگل پيدا كردم
روش اول:
کد:
Private Sub cmdPrint_Click()

nrData = rs1.RecordCount
Printer.PrintQuality = -4
Printer.Orientation = 2
Printer.FontSize = 12
Printer.CurrentY = 1400
Printer.CurrentX = 400
Dim i As Integer
Dim R As Integer
Dim IncreaseY As Integer
Printer.Print txtDebtNo.Text & " " & lblDebtor.Caption

Printer.ScaleMode = 6
Printer.CurrentX = 10
Printer.CurrentY = 50
DataGrid1.Col = 0
DataGrid1.Row = 0
Printer.Print DataGrid1.Text
Printer.Line (9, 5 + 50)-(220, 5 + 50)

DataGrid1.Col = 1
Printer.CurrentX = 40
Printer.CurrentY = 50
Printer.Print DataGrid1.Text

DataGrid1.Col = 2
Printer.CurrentX = 70
Printer.CurrentY = 50
Printer.Print DataGrid1.Text

DataGrid1.Col = 3
Printer.CurrentX = 100
Printer.CurrentY = 50
Printer.Print DataGrid1.Text

DataGrid1.Col = 4
Printer.CurrentX = 130
Printer.CurrentY = 50
Printer.Print DataGrid1.Text

DataGrid1.Col = 5
Printer.CurrentX = 160
Printer.CurrentY = 50
Printer.Print DataGrid1.Text

DataGrid1.Col = 6
Printer.CurrentX = 190
Printer.CurrentY = 50
Printer.Print DataGrid1.Text

IncreaseY = 0
For i = 1 To (nrData - 1)
R = R + 1
IncreaseY = IncreaseY + 20
On Error Resume Next
DataGrid1.Row = R
If Err.Number = 6148 Then
rs1.MoveNext
End If
Printer.CurrentX = 10
Printer.CurrentY = 50 + IncreaseY

DataGrid1.Col = 0
Printer.Print DataGrid1.Text

DataGrid1.Col = 1
Printer.CurrentX = 40
Printer.CurrentY = 50 + IncreaseY
Printer.Print DataGrid1.Text

DataGrid1.Col = 2
Printer.CurrentX = 70
Printer.CurrentY = 50 + IncreaseY
Printer.Print DataGrid1.Text

DataGrid1.Col = 3
Printer.CurrentX = 100
Printer.CurrentY = 50 + IncreaseY
Printer.Print DataGrid1.Text

DataGrid1.Col = 4
Printer.CurrentX = 130
Printer.CurrentY = 50 + IncreaseY
Printer.Print DataGrid1.Text

DataGrid1.Col = 5
Printer.CurrentX = 160
Printer.CurrentY = 50 + IncreaseY
Printer.Print DataGrid1.Text

DataGrid1.Col = 6
Printer.CurrentX = 190
Printer.CurrentY = 50 + IncreaseY
Printer.Print DataGrid1.Text

Next
Printer.EndDoc
End Sub
روش دوم:
کد:
Private Sub Print_Click()
Printer.Font = "VERDANA"
Printer.Orientation = 2
Printer.FontSize = 12
Printer.FontBold = True
Printer.Print txtDebtNo.Text & " " & lblDebtor.Caption
Printer.PaintPicture DataGrid1.Picture, 1000, 1400
Printer.EndDoc
End Sub
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا