I want click on Qr code and to tale print of it.
Asp.net
<asp:GridView ID="grdQrCodeResult" runat="server" AutoGenerateColumns="false" OnRowDataBound="grdQrCodeResult_RowDataBound" OnSelectedIndexChanged="grdQrCodeResult_SelectedIndexChanged"> <Columns> <asp:TemplateField HeaderText="Port" HeaderStyle-HorizontalAlign="Center"> <HeaderStyle HorizontalAlign="Center" Wrap="false" /> <ItemStyle HorizontalAlign="Center" Wrap="true" /> <ItemTemplate> <asp:Label ID="lblPortName" runat="server" Text='<%#Eval("Port") %>' SkinID="GridLabel1"></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Lots#" HeaderStyle-HorizontalAlign="Center"> <HeaderStyle HorizontalAlign="Center" Wrap="false" /> <ItemStyle HorizontalAlign="Center" Wrap="true" /> <ItemTemplate> <asp:Label ID="lblHatchName" runat="server" Text='<%#Eval("Lots") %>' SkinID="GridLabel1"></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="WMT"> <HeaderStyle HorizontalAlign="Center" Wrap="false" /> <ItemStyle HorizontalAlign="Center" Wrap="true" /> <ItemTemplate> <asp:Label ID="lblHatch1" runat="server" Text='<%#Eval("WMT") %>' SkinID="GridLabel1"></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="QR Code"> <HeaderStyle HorizontalAlign="Center" Wrap="false" /> <ItemStyle HorizontalAlign="Center" Wrap="true" /> <ItemTemplate> <asp:PlaceHolder ID="plBarCode" runat="server" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="QR Code1"> <HeaderStyle HorizontalAlign="Center" Wrap="false" /> <ItemStyle HorizontalAlign="Center" Wrap="true" /> <ItemTemplate> <asp:PlaceHolder ID="plBarCodes" runat="server" /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>
CS page
using QRCoder; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.IO; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Reports_QRCode : System.Web.UI.Page { SqlConnection con; String strConn = ConfigurationManager.ConnectionStrings["ConOrms"].ConnectionString; protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { ShowData(); } } protected void ShowData() { DataTable dt = new DataTable(); con = new SqlConnection(strConn); SqlDataAdapter adapt = new SqlDataAdapter("select distinct P.Port,Lots,WMT from [IQMS].[dbo].[tblDischargeLots] t LEFT JOIN [IQMS].[dbo].tblPort P on t.PortId=P.PortId where WMT >20000", con); con.Open(); adapt.Fill(dt); con.Close(); grdQrCodeResult.DataSource = dt; grdQrCodeResult.DataBind(); } protected void grdQrCodeResult_RowDataBound(object sender, GridViewRowEventArgs e) { //Checking the RowType of the Row if (e.Row.RowType == DataControlRowType.DataRow) { //Find the PlaceHolder control. PlaceHolder plBarcode = (e.Row.FindControl("plBarCode") as PlaceHolder); PlaceHolder plBarcodes = (e.Row.FindControl("plBarCodes") as PlaceHolder); int index = e.Row.RowIndex; string code = "Scanner" + Convert.ToInt32(index); QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode(code, QRCodeGenerator.ECCLevel.Q); QRCode qrCode = new QRCode(qrCodeData); //QRCodeGenerator qrGenerator = new QRCodeGenerator(); //QRCodeGenerator.QRCode qrCode = qrGenerator.CreateQrCode(code, QRCodeGenerator.ECCLevel.Q); System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image(); imgBarCode.Height = 60; imgBarCode.Width = 60; using (Bitmap bitMap = qrCode.GetGraphic(20)) { using (MemoryStream ms = new MemoryStream()) { bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png); byte[] byteImage = ms.ToArray(); imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage); } plBarcode.Controls.Add(imgBarCode); } System.Web.UI.WebControls.Image imgBarCodes = new System.Web.UI.WebControls.Image(); imgBarCodes.Height = 60; imgBarCodes.Width = 60; using (Bitmap bitMap = qrCode.GetGraphic(20)) { using (MemoryStream ms = new MemoryStream()) { bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png); byte[] byteImage = ms.ToArray(); imgBarCodes.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage); } plBarcodes.Controls.Add(imgBarCodes); } } } protected void grdQrCodeResult_SelectedIndexChanged(object sender, EventArgs e) { } }
My Screen