Sandeep Kumar

Sandeep Kumar

  • 1.1k
  • 683
  • 60.7k

i want fire select indexChanged event

Jan 7 2023 11:22 AM

I  have Server side Created Gridview  ,which i want fire select Index Changed Event

MY code is 

  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.Attributes.Add("AutoPostback", "true");
        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 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);
        }
     

    }


Answers (2)