Click here to Skip to main content
15,881,757 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have a data grid view which responds to a click event and the code works perfect
private void dgvContactpersonsearch_CellContentClick(object sender, DataGridViewCellEventArgs e)
     {
         SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
         conn.ConnectionString = "Data Source=user-PC;Initial Catalog=MUCGPROJECT;User ID=sa;Password=mike";
         conn.Open();
         SqlCommand cmd =new SqlCommand();
         string sqlQuery = dgvContactpersonsearch[0, e.RowIndex].Value.ToString();
         sqlQuery = "select * from tblCollectorsregistration where collectorid like '" + this.dgvContactpersonsearch.Rows[e.RowIndex].Cells[0].Value + "' ";

         cmd.Connection = conn;
         cmd.CommandText = sqlQuery;
         cmd.CommandType = System.Data.CommandType.Text;
         SqlDataReader dr = null;
         dr = cmd.ExecuteReader();
         while (dr.Read())
         {

             txtCollectorid.Text = dr["collectorid"].ToString();
             cboTitle.Text = dr["title"].ToString();
             txtSurname.Text = dr["surname"].ToString();
             txtMiddlename.Text = dr["middlename"].ToString();
             txtFirstname.Text = dr["firstname"].ToString();

         }
         cmd.Dispose();
         this.dgvContactpersonsearch.Visible = false;
     }

I created a METHOD and copied this same code into it so that the method can be called anywhere in the project but i get the error “The name 'e' does not exist in the current context” please help me out
C#
public void dgvCPclick()
        {
            SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
            conn.ConnectionString = "Data Source=user-PC;Initial Catalog=MUCGPROJECT;User ID=sa;Password=mike";
            conn.Open();
            SqlCommand cmd =new SqlCommand();
            string sqlQuery = dgvContactpersonsearch[0, e.RowIndex].Value.ToString();
            sqlQuery = "select * from tblCollectorsregistration where collectorid like '" + this.dgvContactpersonsearch.Rows[e.RowIndex].Cells[0].Value + "' ";
            
            cmd.Connection = conn;
            cmd.CommandText = sqlQuery;
            cmd.CommandType = System.Data.CommandType.Text;
            SqlDataReader dr = null;
            dr = cmd.ExecuteReader();
            while (dr.Read())
            {
               
                txtCollectorid.Text = dr["collectorid"].ToString();
                cboTitle.Text = dr["title"].ToString();
                txtSurname.Text = dr["surname"].ToString();
                txtMiddlename.Text = dr["middlename"].ToString();
                txtFirstname.Text = dr["firstname"].ToString();
                
            }
            cmd.Dispose();
            this.dgvContactpersonsearch.Visible = false;
        }
Posted
Updated 28-Dec-12 21:29pm
v2

1 solution

You need to pass the DataGridViewCellEventArgs to this method because you are using the event Args member data e.RowIndex in your click event and if your moving those operation to a different method pass these value as argument to the method or what is needed for your processing.

usage of e.RowIndex at this line cause the error
C#
sqlQuery = "select * from tblCollectorsregistration where collectorid like '" + this.dgvContactpersonsearch.Rows[e.RowIndex].Cells[0].Value + "' ";
 
Share this answer
 
Comments
mikeoabban 29-Dec-12 5:54am    
thanks alot put am having problems passing the DataGridViewCellEventArgs to the method
can you help me with some piece of code

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900