توضیحات و دانلود

چاپ ردیف داده ها در GridView با استفاده از JavaScript در C #و VB.Net با ASP.Net
0 0
چاپ ردیف داده ها در GridView با استفاده از JavaScript در C #و VB.Net با ASP.Net

 با سلام در این مقاله توضیح خواهیم داد که چگونه به کاربران آموزش می دهیم محتویات کنترل ASP.Net را چاپ کنند.

 دو گزینه را توضیح می دهیم ، ابتدا صفحه فعلی کنترل  GridView و دوم چاپ همه صفحات .

 قبلاً با استفاده از پایگاه داده Northwind کنترل GridView را جمع آوری کرده ایم.

صفحه فعلی کنترل  GridView را چاپ کنید

در زیر رویداد Button که با کلیک بر روی دکمه چاپ , آمده چاپ است

C #

protected void  PrintCurrentPage(object sender, EventArgs e)

{

    GridView1.PagerSettings.Visible = false;

    GridView1.DataBind();

    StringWriter sw = new StringWriter();

    HtmlTextWriter hw = new HtmlTextWriter(sw);

    GridView1.RenderControl(hw);

    string gridHTML = sw.ToString().Replace("\"", "'")

        .Replace(System.Environment.NewLine, "");

    StringBuilder sb = new StringBuilder();

    sb.Append("<script type = 'text/javascript'>");

    sb.Append("window.onload = new function(){");

    sb.Append("var printWin = window.open('', '', 'left=0");

    sb.Append(",top=0,width=1000,height=600,status=0');");

    sb.Append("printWin.document.write(\"");

    sb.Append(gridHTML);

    sb.Append("\");");

    sb.Append("printWin.document.close();");

    sb.Append("printWin.focus();");

    sb.Append("printWin.print();");

    sb.Append("printWin.close();};");

    sb.Append("</script>"); 

    ClientScript.RegisterStartupScript(this.GetType(), "GridPrint", sb.ToString());

    GridView1.PagerSettings.Visible = true;

    GridView1.DataBind();

}

VB.Net

Protected Sub PrintCurrentPage(ByVal sender As Object, ByVal e As EventArgs)

  GridView1.PagerSettings.Visible = False

  GridView1.DataBind()

  Dim sw As New StringWriter()

  Dim hw As New HtmlTextWriter(sw)

  GridView1.RenderControl(hw)

  Dim gridHTML As String = sw.ToString().Replace("""", "'") _

     .Replace(System.Environment.NewLine, "")

  Dim sb As New StringBuilder()

  sb.Append("<script type = 'text/javascript'>")

  sb.Append("window.onload = new function(){")

  sb.Append("var printWin = window.open('', '', 'left=0")

  sb.Append(",top=0,width=1000,height=600,status=0');")

  sb.Append("printWin.document.write(""")

  sb.Append(gridHTML)

  sb.Append(""");")

  sb.Append("printWin.document.close();")

  sb.Append("printWin.focus();")

  sb.Append("printWin.print();")

  sb.Append("printWin.close();};")

  sb.Append("</script>")

  ClientScript.RegisterStartupScript(Me.GetType(), "GridPrint", sb.ToString())

  GridView1.PagerSettings.Visible = True

  GridView1.DataBind()

End Sub

 یک روش جاوا اسکریپت برای چاپ محتوای GridView ایجاد کرده ایم که هنگام بارگذاری صفحه , فراخوانی می شود. تصویر زیر پیش نمایش GridView را نشان می دهد که چاپ خواهد شد

 

چاپ تمام صفحات کنترل GridView

در زیر رویداد Button است که با کلیک بر روی آن چاپ می شود

C #

protected void  PrintAllPages(object sender, EventArgs e)

{

    GridView1.AllowPaging = false;

    GridView1.DataBind();

    StringWriter sw = new StringWriter();

    HtmlTextWriter hw = new HtmlTextWriter(sw);

    GridView1.RenderControl(hw);

    string gridHTML = sw.ToString().Replace("\"", "'")

        .Replace(System.Environment.NewLine, "");

    StringBuilder sb = new StringBuilder();

    sb.Append("<script type = 'text/javascript'>");

    sb.Append("window.onload = new function(){");

    sb.Append("var printWin = window.open('', '', 'left=0");

    sb.Append(",top=0,width=1000,height=600,status=0');");

    sb.Append("printWin.document.write(\"");

    sb.Append(gridHTML);

    sb.Append("\");");

    sb.Append("printWin.document.close();");

    sb.Append("printWin.focus();");

    sb.Append("printWin.print();");

    sb.Append("printWin.close();};");

    sb.Append("</script>"); 

    ClientScript.RegisterStartupScript(this.GetType(), "GridPrint", sb.ToString());

    GridView1.AllowPaging = true;

    GridView1.DataBind();

}

VB.Net

Protected Sub PrintAllPages(ByVal sender As Object, ByVal e As EventArgs)

  GridView1.AllowPaging = False

  GridView1.DataBind()

  Dim sw As New StringWriter()

  Dim hw As New HtmlTextWriter(sw)

  GridView1.RenderControl(hw)

  Dim gridHTML As String = sw.ToString().Replace("""", "'") _

       .Replace(System.Environment.NewLine, "")

  Dim sb As New StringBuilder()

  sb.Append("<script type = 'text/javascript'>")

  sb.Append("window.onload = new function(){")

  sb.Append("var printWin = window.open('', '', 'left=0")

  sb.Append(",top=0,width=1000,height=1000,status=0');")

  sb.Append("printWin.document.write(""")

  sb.Append(gridHTML)

  sb.Append(""");")

  sb.Append("printWin.document.close();")

  sb.Append("printWin.focus();")

  sb.Append("printWin.print();")

  sb.Append("printWin.close();};")

  sb.Append("</script>")

  ClientScript.RegisterStartupScript(Me.[GetType](), "GridPrint", sb.ToString())

  GridView1.AllowPaging = True

  GridView1.DataBind()

End Sub

تنها تفاوت عملکرد فوق در این است که صفحه بندی را غیرفعال می کنیم تا همه صفحات چاپ شوند. تصویر زیر پیش نمایش GridView را نشان می دهد که چاپ خواهد شد.

 


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :