نمایش نتایج 1 تا 6 از 6

نام تاپیک: چاپ-----print در vb.net

  1. #1

    Red face print گرفتن از datagrid !!!!!!

    سلام
    من میخوام نتایجی را که در datagrid می بینم چاپ هم بکنم ( در واقع هر چیزی که در dataset قرار می گیرد) کسی میتونه کمکم کنه؟
    در ضمن من هیچ اطلاعی از فرایند پرینت در vb.net ندارم !
    آخرین ویرایش به وسیله finalcut : شنبه 08 مرداد 1384 در 08:04 صبح

  2. #2
    باید از کریستال ریپورت برای این کار استفاده کنی
    خیلی خیلی هم در این مورد و موارد مشابه اون از مبتدی تا پیشرفته بحث شده یه سرچ کوچولو بزن

  3. #3
    جواب سئوال ام را اینجا پیدا کردم اگه خواستید یه نگاه بندازید...با تشکر از mehrdotnet

    http://www.codeproject.com/vb/net/Da...ting_Class.asp

  4. #4
    خیلی راحته اگر که با crystal reportکار کرده باشی

  5. #5
    کاربر تازه وارد آواتار VisualBasic-NET
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    شاهین شهر
    پست
    46
    من میتونم تمام اطلاعات در datagrid را بدون برنامه کیریستال ریپورت چاپ کنم ولی باید اطلاعات زیاد باشه تا بتونم بهت کمک کنم ولی با این حال برام ایمیل بزن تا بیشتر صحبت کنیم

  6. #6
    کاربر جدید آواتار moiid63
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    همدان
    پست
    7

    پرینت دیتاست (دیتا گرید) Print Dataset Or Datagrid

    '----------------------------- کنترل های مورد استفاده
    '-------------PageSetupDialog
    '-------------PrintDocument
    '-------------PrintPreviewDialog
    '--------------------------------------------------------------
    Private Sub MnItmPRINT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnItmPRINT.Click
    If -DataSet-Name- .Rows.Count > 0 Then
    CountLine = 0
    NumberColumnsForPrint = -DataSet-Name- .Columns.Count
    Titr = " جدول ..."
    '-در این صفحه متغییر های سراسری را کاربر تنظیم می کند
    '-مانند تعداد ستونها یا نوع خط جدول و ...
    Dim OBJ As New PrintSettingPAGE()
    OBJ.ShowDialog()
    PageSetupDialog1.ShowDialog()
    PrintPreviewDialog1.ShowDialog()
    Else
    MsgBox("اطلاعاتی برای پرینت وجود ندارد", MsgBoxStyle.OKOnly, "")
    End If
    End Sub
    '------------------------------------------------------------------
    '----------------------------- توابع مورد نیاز پرینت ---------------
    '-------------------------------------------------------------------
    Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
    '----------------------------- متغیر های سراسری استفاده شده-------------
    '-------------dim VerticalPAGE as Boolean افقی یا عمودی بودن صفحه
    '-------------dim NumberColumnsForPrint as integer
    '--------DirectionVertical تعداد ستونهای دیتاست که میخواهیم چاپ کنیم
    '-------------dim LinesPerPage as Integer تعداد خطهای هر صفحه
    '-------------dim Titr as String تیتر هر صفحه
    '--------------------------------------------------------------
    Dim xCell As Integer
    Dim yCell As Integer
    Dim WidthCell As Integer
    Dim xTITR As Integer
    Dim yTITR As Integer
    Dim HeightTITR As Integer
    Dim WidthTITR As Integer
    '--------------------------------------------------------------
    '------------مقدار دهی اندازه ها و موقعیت سلول های جدول
    '--------------------------------------------------------------
    yTITR = CInt(PageSetupDialog1.PageSettings.Margins.Top)
    xTITR = CInt(PageSetupDialog1.PageSettings.Margins.Left)
    If PageSetupDialog1.PageSettings.Landscape = True Then
    WidthTITR = CInt(PageSetupDialog1.PageSettings.PaperSize.Heigh t) - (xTITR + CInt(PageSetupDialog1.PageSettings.Margins.Right))
    Else
    WidthTITR = CInt(PageSetupDialog1.PageSettings.PaperSize.Width ) - (xTITR + CInt(PageSetupDialog1.PageSettings.Margins.Right))
    End If
    HeightTITR = 35
    xCell = PageSetupDialog1.PageSettings.Margins.Left
    yCell = yTITR + HeightTITR
    WidthCell = CInt(WidthTITR \ NumberColumnsForPrint)
    '--------------------------------------------------------------
    '------------محاسبه تعداد خطهای هر صفحه
    Dim LinesPerPage As Integer
    If PageSetupDialog1.PageSettings.Landscape = True Then
    LinesPerPage = CInt((CInt(PageSetupDialog1.PageSettings.PaperSize .Width) - (yTITR + HeightTITR + HeightHeaderCell + CInt(PageSetupDialog1.PageSettings.Margins.Bottom) )) \ HeightCell)
    Else
    LinesPerPage = CInt((CInt(PageSetupDialog1.PageSettings.PaperSize .Height) - (yTITR + HeightTITR + HeightHeaderCell + CInt(PageSetupDialog1.PageSettings.Margins.Bottom) )) \ HeightCell)
    End If
    '----------------------------------------------------------------------
    Dim RectF As RectangleF
    If -DataSet-Name- .Rows.Count <> 0 Then
    '----------------------------------------------------------
    '------------ نوشتن متن تیتر
    '----------------------------------------------------------
    Dim StrForm As StringFormat
    StrForm = New StringFormat(StringFormatFlags.DirectionRightToLef t)
    StrForm.Alignment = StringAlignment.Center
    StrForm.LineAlignment = StringAlignment.Center
    RectF.X = xTITR ' xTITR = 15 or 790
    RectF.Y = yTITR ' yTITR = 15 or 15
    RectF.Height = HeightTITR ' HeightTITR = 25 or 25
    RectF.Width = WidthTITR ' WidthTITR = 750 or 1140
    e.Graphics.DrawString(Titr, TitrFont, Brushes.Black, RectF, StrForm)
    '----------------------------------------------------------
    '------------ نوشتن سطرها
    '----------------------------------------------------------
    RectF.X = xCell
    RectF.Y = yCell + HeightHeaderCell
    RectF.Width = WidthCell
    RectF.Height = HeightCell
    StrForm.Alignment = StringAlignment.Far
    StrForm.LineAlignment = StringAlignment.Far
    Dim PrintFont As New Font("Arial", 10)
    PrintFont = DataGrid1.Font
    Dim StrField As String '' برای دریافت فیلدهای جدول
    Dim counter As Integer '' شمارهنده
    For I2 = 0 To LinesPerPage - 1
    RectF.X = xCell
    For I = (NumberColumnsForPrint - 1) To 0 Step -1
    StrField = " " & CStr( -DataSet-Name- .Rows(CountLine).Item(I))
    e.Graphics.DrawRectangle(PenRow, RectF.X, RectF.Y, RectF.Width, RectF.Height)
    e.Graphics.DrawString(StrField, PrintFont, Brushes.Black, RectF, StrForm)
    RectF.X += WidthCell
    StrField = ""
    Next
    RectF.Y += HeightCell
    CountLine += 1
    If -DataSet-Name- .Rows.Count = CountLine Then
    Exit For
    End If
    Next
    '----------------------------------------------------------
    '------------ کشیدن نام ستونها
    '----------------------------------------------------------
    StrForm.Alignment = StringAlignment.Center
    StrForm.LineAlignment = StringAlignment.Center
    RectF.X = xCell
    RectF.Y = yCell
    RectF.Width = WidthCell
    RectF.Height = HeightHeaderCell
    PrintFont = DataGrid1.HeaderFont
    For I = (NumberColumnsForPrint - 1) To 0 Step -1
    StrField = CStr( -DataSet-Name- .Columns(I).ColumnName)
    e.Graphics.DrawRectangle(PenColumn, RectF.X, RectF.Y, RectF.Width, RectF.Height)
    e.Graphics.DrawString(StrField, PrintFont, Brushes.Black, RectF, StrForm)
    RectF.X += WidthCell
    StrField = ""
    Next
    End If
    '--------------------------------------------------------------
    '------------اگر تعداد خطها زیاد شد باید صفحه دیگر ایجاد شود
    '------------در غیر این صورت صفحه جدید نباید تولید شود
    '--------------------------------------------------------------
    If CountLine < -DataSet-Name- .Rows.Count Then
    e.HasMorePages = True
    Else
    CountLine = 0
    e.HasMorePages = False
    End If
    End Sub

تاپیک های مشابه

  1. اشکال در مورد Print
    نوشته شده توسط lililili در بخش Access
    پاسخ: 11
    آخرین پست: یک شنبه 24 تیر 1386, 10:44 صبح
  2. print در Asp.net
    نوشته شده توسط yasmeen در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: چهارشنبه 06 تیر 1386, 13:40 عصر
  3. گرفتن print از explorer بدون باز شدن پنجره print
    نوشته شده توسط abruee در بخش طراحی وب (Web Design)
    پاسخ: 4
    آخرین پست: چهارشنبه 08 فروردین 1386, 16:43 عصر
  4. پرینت در دلفی(print)
    نوشته شده توسط tina_ba در بخش برنامه نویسی در Delphi
    پاسخ: 12
    آخرین پست: سه شنبه 06 اردیبهشت 1384, 23:57 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •