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

نام تاپیک: print datagrid

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    اصفهان
    پست
    96

    print datagrid

    دطونه می شوى اؤ ىیتا طریى ذرینت طرفت؟

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    همه جای ایران سرای من است
    پست
    863

    Exclamation تکراری

    نقل قول نوشته شده توسط mehdi2004171
    دطونه می شوى اؤ ىیتا طریى ذرینت طرفت؟
    اگر اشتباه نکنم خواستی بنویسی چه جوری میشه از یه دیتاگرید پرینت گرفت؟؟

    دوست عزیز این موضوع تکراریه بگردید پیدا میکنی

    در ضمن از کریستال ریپورت استفاده کن
    آخرین ویرایش به وسیله M.kavyani : پنج شنبه 08 دی 1384 در 00:10 صبح دلیل: غلط املائی مثل تاپیک

  3. #3
    کاربر جدید آواتار 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 از explorer بدون باز شدن پنجره print
    نوشته شده توسط abruee در بخش طراحی وب (Web Design)
    پاسخ: 4
    آخرین پست: چهارشنبه 08 فروردین 1386, 16:43 عصر
  2. print datagrid without breaking the last line
    نوشته شده توسط Rahmani-r3 در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: سه شنبه 14 آذر 1385, 10:30 صبح
  3. Print کارنامه
    نوشته شده توسط riyahiyan در بخش برنامه نویسی در 6 VB
    پاسخ: 20
    آخرین پست: سه شنبه 29 فروردین 1385, 18:01 عصر
  4. print در datagrid
    نوشته شده توسط amirreyhaneh در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: یک شنبه 21 اسفند 1384, 20:23 عصر

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

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