Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# SQL
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
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 28-Dec-12 21:22pm
Edited 28-Dec-12 21:29pm
v2

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

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
sqlQuery = "select * from tblCollectorsregistration where collectorid like '" + this.dgvContactpersonsearch.Rows[e.RowIndex].Cells[0].Value + "' ";
  Permalink  
Comments
mikeoabban at 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)



Advertise | Privacy | Mobile
Web03 | 2.8.141015.1 | Last Updated 29 Dec 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100