Click here to Skip to main content
15,892,674 members
Please Sign up or sign in to vote.
2.50/5 (2 votes)
See more:
i have a form which has both textboxes and a gridview. when a staffid is selected from the combo box, the gridview displays all the transactional records about the staff. each staff have got more than one transaction. i want the girdview to display the records in a particular row into their respective textboxes when that row is double - clicked.

i tired this but one particular record keeps on displaying in the text boxes even
if a different row is selected. how do i modify my sql statement to select based on the staffid in the combo box and the tansactionid in the gridview?
pls help me out


C#
private void dgvStaffsalarypayment_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
           
            SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
            conn.ConnectionString = "Data Source=MICKY-PC;Initial Catalog=SMS;User ID=sa;Password=mike";
            conn.Open();
            SqlCommand cmd = new SqlCommand();

            string sqlQuery = dgvStaffsalarypayment[0, e.RowIndex].Value.ToString();

            sqlQuery = "select * from tblstaffsalarypaymentdetails where staffid like '" + this.cboStaffid5.Text + "%" + "'";
            cmd.Connection = conn;
            cmd.CommandText = sqlQuery;
            cmd.CommandType = System.Data.CommandType.Text;
            SqlDataReader dr = null;
            dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                cboStaffid5.Text = dr["staffid"].ToString();
                dtpDateofpayment.Text = dr["dateofpayment"].ToString();
                cboPurpose.Text = dr["purpose"].ToString();
                cboYear.Text = dr["years"].ToString();
                cboMonth.Text = dr["months"].ToString();
                txtAmountpaid.Text = dr["amountpaid"].ToString();
                txtRemarks.Text = dr["remarks"].ToString();

            }
            cmd.Dispose();
            

        }
Posted
Updated 13-Oct-12 7:48am
v2
Comments
[no name] 13-Oct-12 13:51pm    
"and the tansactionid in the gridview"... well you would get the transactionid from the gridview and add that to your query.
mikeoabban 14-Oct-12 12:16pm    
yes, but how do i get it from the griddview. thats the problem
[no name] 14-Oct-12 12:30pm    
How is that a problem? dgvStaffsalarypayment.Rows[e.RowIndex].Cells[whatever-the-column-number-of-your-transactionid-is].Value

1 solution

this is the solution. thanks to Wes Aday

C#
select * from tblstaffsalarypaymentdetails where staffid like '" + this.cboStaffid5.Text + "%" + "' AND staffsalarytransid like '" + this.dgvStaffsalarypayment.Rows[e.RowIndex].Cells[0].Value + "%" + "'
 
Share this answer
 
v2

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