Sandeep Kumar

Sandeep Kumar

  • 1.1k
  • 683
  • 60.7k

why gv_SelectedIndexChanged not firing

Jan 7 2023 5:56 AM

I want to click on QR Code Annd Fire to gv_SelectedIndexChanged event,

But Not Firing

My Code Below is --Aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterIQMS.master" EnableEventValidation="false" AutoEventWireup="true" CodeFile="SamplePrepration.aspx.cs" Inherits="Reports_SamplePrepration" %>
<%@ Register Src="~/Web Controls/CustomPager.ascx" TagName="PagingControl" TagPrefix="uc1" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">  <script type="text/javascript">
        function PrintPanel() {
            var panel = document.getElementById("<%=panelprint.ClientID %>");
            var printWindow = window.open('', '', 'height=400,width=800');
            printWindow.document.write('<html><head><title></title>');
            printWindow.document.write('</head><body >');
            printWindow.document.write(panel.innerHTML);
            printWindow.document.write('</body></html>

        <div class="row">
            <div class="col-sm-4">
                Work Order No
                        <asp:TextBox ID="txtWorkOrderNo" runat="server" OnTextChanged="txtWorkOrderNo_TextChanged" AutoPostBack="true"></asp:TextBox>
                <asp:HiddenField ID="HiddenField1" runat="server" />
                <cc1:AutoCompleteExtender ServiceMethod="SearchWO" MinimumPrefixLength="1" EnableCaching="false" CompletionSetCount="10"
                    TargetControlID="txtWorkOrderNo" ID="AutoCompleteExtender1" runat="server" FirstRowSelected="false"
                    CompletionListCssClass="completionList" CompletionListItemCssClass="listItem" CompletionListHighlightedItemCssClass="itemHighlighted">
                </cc1:AutoCompleteExtender>
            </div>
            <div class="col-sm-1">
                &nbsp;&nbsp;
                        <asp:LinkButton ID="btnInspectionCodeTagging" runat="server" Width="150" class="btn btn-info btn-xs btn-block" OnClick="btnInspectionCodeTagging_Click"><i class="fa-floppy-o"></i>&nbsp;Job Code Tagging</asp:LinkButton>
            </div>
        </div>
  <%--  <asp:Panel ID="pnlContents" runat="server">--%>
          <div style="overflow: scroll;" onscroll="OnScrollDiv(this)" id="DivMainContent">
             <%--    <asp:GridView ID="grdSamplePrep" runat="server" CssClass="table-grid" OnRowDataBound="grdSamplePrep_RowDataBound" OnSelectedIndexChanged="grdSamplePrep_SelectedIndexChanged1">
            </asp:GridView>--%>
       <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
                   </div>
  <%--  </asp:Panel>--%>
      <%--  <div class="row">
                    <div class="col-sm-8">
                        <asp:HiddenField ID="hidPageNo" runat="server" Value="1" />
                        <uc1:PagingControl ID="gvPager" Visible="false" FirstString="<< First"
                            LastString=" Last >>" NextString="Next >" PrevString="< Prev" TotalNumberPaging="10" OnPaging_Click="gvPager_Paging_Click"
                            runat="server" />
                    </div>
                </div>--%>
    <div id="divPrint" runat="server" title="" style="display: none; text-align: center;max-height: 600px;" class="modalPopup2">
        <div class="close">
            <asp:ImageButton ID="PopupClose1" runat="server" ImageUrl="~/App_Themes/Images/cross.png" OnClick="PopupClose1_Click" />
        </div>
        <div class="container-fluid" style="text-align: center">
            <h2>QR Code Print</h2>
                <div style="margin: 20px;">
                    <div class="input-group-append" style="margin-bottom: 20px;">
                        <asp:Button ID="BtnGenerateQRCode" runat="server" Text="Print QR Code" CssClass="btn btn-primary" OnClientClick="return PrintPanel();" />

                    </div>
 
                <asp:Panel ID="panelprint" runat="server">
                    <div>
                        <div style="margin: auto;">
                            <asp:Panel ID="Panel1" runat="server">
                                <asp:PlaceHolder ID="plBarCode" runat="server" />
                              <%--  <asp:Label ID="lblmsg" runat="server" />--%>
                            </asp:Panel>

                        </div>
                    </div>
                </asp:Panel>
            </div>
    </div>
</div>
    <div class="modalBackground3" id="modalBackground" runat="server" style="display: none;">
    </div>

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_SamplePrepration : System.Web.UI.Page
{
    SqlConnection con;
    int PageNum = 1;
    GridView gv = new GridView();
    String strConn = ConfigurationManager.ConnectionStrings["ConOrms"].ConnectionString;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //  ShowData(1);
        }
    }

    protected void grdSamplePrep_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        //    if (e.Row.RowType == DataControlRowType.DataRow)
        //    {
        //    }


    }
    protected void ShowData(int PageNum)
    {
        int TotalRecord = 0;
        //   DataTable dt = new DataTable();
        int WOID = Convert.ToInt32(ViewState["WoidForBindData"]);
        DataSet dsSmplPrep = new DataSet(); //WR_TRF.GetTRFReport(BranchID, FromDate, ToDate, Convert.ToInt16(SessionManager.Instance.RoleId),txtTRFno.Text.Trim());
        DataTable dtSmplPrep = new DataTable();
        try
        {
            using (SqlConnection con = new SqlConnection(strConn))
            {
                using (SqlCommand cmd = new SqlCommand("VVS_SAMPLE_PREPARARION", con))
                {
                    cmd.CommandType = CommandType.StoredProcedure;

                    cmd.Parameters.Add("@WOID", SqlDbType.Int).Value = WOID;
                    //cmd.Parameters.Add("@PageSize", SqlDbType.Int).Value = 10;
                    cmd.CommandTimeout = 999999;
                    SqlDataAdapter adp = new SqlDataAdapter(cmd);

                    adp.Fill(dtSmplPrep);
                }
            }
        }
        catch (Exception ex)
        {

        }


        gv.ID = "EmployeeGridView";
        gv.AutoGenerateColumns = false;
        gv.AllowPaging = true;
        gv.EnableViewState = true;
        gv.PageSize = 50; // Default page Size

        //Create EventHanfler for Paging.

        // gv.RowDataBound += new GridViewRowEventArgs(this.gv_RowDataBound);
        gv.SelectedIndexChanged += new EventHandler(gv_SelectedIndexChanged);
        gv.RowDataBound += new GridViewRowEventHandler(gv_RowDataBound);
       
        //gv_RowDataBound(null,null);
        DataTable dt = new DataTable();
        DataTable dt1 = new DataTable();
        if (dtSmplPrep != null)
        {
            if (dtSmplPrep.Rows.Count > 0)
            {
                dt = dtSmplPrep;
                // DataRow dr = null;
                if (dt != null)
                {
                    if (dt.Rows.Count > 0)
                    {
                        for (int i = 0; i < dt.Columns.Count; i++)
                        {

                            BoundField boundField = new BoundField();
                            boundField.DataField = dt.Columns[i].ColumnName.ToString();
                            boundField.HeaderText = dt.Columns[i].ColumnName.ToString();
                            gv.Columns.Add(boundField);
                            //  dt1.Columns.Add(new DataColumn(dt.Columns[i].ColumnName, typeof(string)));

                        }
                      
                    }
                }
            }
        }
        PlaceHolder1.Controls.Add(gv);
        BindGridView(gv, dt);
    }


    static DataTable ListToDataTable<T>(IEnumerable<T> list)
    {
        var dt = new DataTable();
        foreach (var info in typeof(T).GetProperties())
        {
            dt.Columns.Add(new DataColumn(info.Name, info.PropertyType));
        }
        foreach (var t in list)
        {
            var row = dt.NewRow();
            foreach (var info in typeof(T).GetProperties())
            {
                row[info.Name] = info.GetValue(t, null);
            }
            dt.Rows.Add(row);
        }
        return dt;
    }
    private void BindGridView(GridView gv, DataTable dt)
    {
        gv.DataSource = dt;
        gv.DataBind();
    }

    protected void gvPager_Paging_Click(object sender, CommandEventArgs e)
    {

    }

    #region AutoComplete Work order No
    [System.Web.Script.Services.ScriptMethod()]
    [System.Web.Services.WebMethod]
    public static List<string> SearchWO(string prefixText, int count)
    {
        List<string> customers = new List<string>();
        string Item = string.Empty;
        try
        {
            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConOrms"].ConnectionString))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = "GetWoIdBySearchText";
                    cmd.Parameters.Add("@SearchText", SqlDbType.NVarChar).Value = prefixText;
                    cmd.Connection = con;
                    con.Open();
                    using (SqlDataReader sdr = cmd.ExecuteReader())
                    {
                        while (sdr.Read())
                        {
                            Item = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(sdr["JobOrderNo"].ToString(), sdr["WOID"].ToString());
                            customers.Add(Item);
                        }
                    }
                    con.Close();

                }
            }
        }
        catch (Exception ex)
        {
        }
        return customers;
    }
    #endregion

    protected void txtWorkOrderNo_TextChanged(object sender, EventArgs e)
    {
        int Woid = 0;
        //string WONO= txtTextingWO.Text;
        //GetEditWorkOrder(GetWorkOrderID(WONO));
        if (txtWorkOrderNo.Text != string.Empty)
        {
            try
            {
                string[] FindValue = txtWorkOrderNo.Text.Trim().Split(';');
                if (FindValue.Length > 1)
                {
                    Woid = Convert.ToInt32(FindValue[1].ToString());
                    ViewState["WoidForBindData"] = Woid;
                }
                txtWorkOrderNo.Text = FindValue[0].ToString();
            }
            catch (Exception ex) { }

        }
    }

    protected void btnInspectionCodeTagging_Click(object sender, EventArgs e)
    {
        ShowData(1);
    }

    protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
           
            int index = e.Row.RowIndex;
            int indexcell = e.Row.Cells.Count - 1;
            for (int j = 4; j <= indexcell; j++)
            {
                PlaceHolder pl = new PlaceHolder();
                pl.ID = e.Row.Cells[j].Text;

                if (e.Row.Cells[j].Text != "&nbsp;")
                {
                    e.Row.Cells[j].Attributes["onclick"] = Page.ClientScript.GetPostBackClientHyperlink(gv, "Select$" + e.Row.RowIndex);
                    e.Row.Cells[j].Attributes["style"] = "cursor:pointer";
                    string code = e.Row.Cells[j].Text;
                    QRCodeGenerator qrGenerator = new QRCodeGenerator();
                    QRCodeData qrCodeData = qrGenerator.CreateQrCode(code, QRCodeGenerator.ECCLevel.Q);
                    QRCode qrCode = new QRCode(qrCodeData);
                    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);
                        }
                        pl.Controls.Add(imgBarCode);
                    }
                }
                e.Row.Cells[j].Controls.Add(pl);
            }
        }
    }

    protected void gv_SelectedIndexChanged(object sender, EventArgs e)
    {
        int index = gv.SelectedRow.RowIndex;

        //Accessing TemplateField Column controls.
       // string lblJobCode = ( gv.SelectedRow.FindControl("lblJobCode") as Label).Text;
        string code = index.ToString();
         ShowData(1);
        // Response.Redirect("Reports/QRCodePrint.aspx?index=" + index + "&code=" + code.ToString());
        modalBackground.Attributes.Add("style", "display:block");
        divPrint.Attributes.Add("style", "display:block");

        QRCodeGenerator qrGenerator = new QRCodeGenerator();
        QRCodeData qrCodeData = qrGenerator.CreateQrCode(code, QRCodeGenerator.ECCLevel.Q);
        QRCode qrCode = new QRCode(qrCodeData);
        System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image();
        imgBarCode.Height = 200;
        imgBarCode.Width = 200;
        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);
        }
        //lblmsg.Text = QRCode;

    }

    protected void grdSamplePrep_SelectedIndexChanged1(object sender, EventArgs e)
    {

    }
    protected void PopupClose1_Click(object sender, ImageClickEventArgs e)
    {
        ShowData(1);
        modalBackground.Attributes.Add("style", "display:none");
        divPrint.Attributes.Add("style", "display:none");
    }
}

 


Answers (1)