Click here to Skip to main content
15,895,084 members
Please Sign up or sign in to vote.
5.00/5 (1 vote)
See more:
here, in my win project ,have button "update Subject" in data grid view (dgv) in form

and add event on clicked at this button open a popup win to update Subject (content Field)
here, problem is when i clicked button, multiple win is opened .

and also when i clicked btndelete multiple row are delete

how can i solve it

my code is



C#
private void Subjectseup()
       {
           gvsubjectsetup.DataSource = null;
           try
           {
               string querystring = "SELECT * FROM dbo.Subjects";
               DataTable datatable = Class1.Datatablebind(querystring);
               if (datatable.Rows.Count > 0)
               {
                   gvsubjectsetup.AutoGenerateColumns = false;

                   //Set Columns Count
                   gvsubjectsetup.ColumnCount = 8;

                   //Add Columns
                   gvsubjectsetup.Columns[0].Name = "Subjectid";
                   gvsubjectsetup.Columns[0].HeaderText = "Subject Id";
                   gvsubjectsetup.Columns[0].DataPropertyName = "Subject_id";

                   gvsubjectsetup.Columns[1].HeaderText = "Subject Name";
                   gvsubjectsetup.Columns[1].Name = "Subject";
                   gvsubjectsetup.Columns[1].DataPropertyName = "Subject Name";

                   gvsubjectsetup.Columns[2].HeaderText = "Allow Class";
                   gvsubjectsetup.Columns[2].Name = "AllowClass";
                   gvsubjectsetup.Columns[2].DataPropertyName = "Allow Class";

                   gvsubjectsetup.Columns[3].Name = "SubjectType";
                   gvsubjectsetup.Columns[3].HeaderText = "Subject Type";
                   gvsubjectsetup.Columns[3].DataPropertyName = "Subject Type";

                   gvsubjectsetup.Columns[4].HeaderText = "Subject Valuation";
                   gvsubjectsetup.Columns[4].DataPropertyName = "Subject valuation";

                   gvsubjectsetup.Columns[5].HeaderText = "Create Date";
                   gvsubjectsetup.Columns[5].DataPropertyName = "Create date";

                   gvsubjectsetup.Columns[6].HeaderText = "Category";
                   gvsubjectsetup.Columns[6].DataPropertyName = "category";

                   // add a button column.
                   DataGridViewButtonColumn updatebutton = new DataGridViewButtonColumn();

                   DataGridViewButtonColumn deletbutton = new DataGridViewButtonColumn();

                   updatebutton.HeaderText = "Update Classes";
                   updatebutton.Text = "Update";
                   updatebutton.Name = "btnUpdate";

                   deletbutton.HeaderText = "Delete Classes";
                   deletbutton.Text = "Delete";
                   deletbutton.Name = "btnDelete";

                   updatebutton.UseColumnTextForButtonValue = true;
                   deletbutton.UseColumnTextForButtonValue = true;
                   // addsectionbutton.UseColumnTextForButtonValue = true;

                   gvsubjectsetup.Columns.Add(updatebutton);
                   //  gvsubjectsetup.Columns.Add(addsectionbutton);
                   gvsubjectsetup.Columns.Add(deletbutton);

                   // ADD click event on button

                   gvsubjectsetup.CellClick += new DataGridViewCellEventHandler(gvsubjectsetup_click);
                   // gvsubjectsetup.DataSource = datatable;
                   gvsubjectsetup.DataSource = new BindingSource(datatable, null);
               }
               else
               {
                   return;
               }
           }
           catch (Exception ex)
           {
               MessageBox.Show(ex.Message);
           }
       }





//here i handle event






C#
public void gvsubjectsetup_click(object sender, DataGridViewCellEventArgs e)
       {
           try
           {
               Int32 id = 0;

              if (gvsubjectsetup.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)


              {
                   if ((e.RowIndex > 0) || (e.ColumnIndex == gvsubjectsetup.Columns["btnUpdate"].Index) || (e.ColumnIndex == gvsubjectsetup.Columns["btnDelete"].Index))
                   {
                       if (e.ColumnIndex == gvsubjectsetup.Columns["btnUpdate"].Index)

                       {
                           id = (Int32)gvsubjectsetup[0, e.RowIndex].Value;
                           string s = "update subject";

                           Subjectpopwindows popwin = new Subjectpopwindows(s, id);
                           popwin.Show();

                       }
                       else if (e.ColumnIndex == gvsubjectsetup.Columns["btnDelete"].Index)
                       {
                           int subneme = (Int32)gvsubjectsetup[0, e.RowIndex].Value;

                           {
                               DialogResult result = MessageBox.Show("Do You Want to delete Class " + subneme + "?", "Delete", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
                               if (result.Equals(DialogResult.OK))
                               {
                                   string delete = "  DELETE FROM dbo.Subjects WHERE Subject_id='" + subneme + "'";
                                   Class1.insertrecord(delete);
                                   MessageBox.Show("Delete Successfully !");
                                   Subjectseup();
                                   return;
                               }
                               else
                               {
                                   return;
                               }
                           }
                       }
                       else
                           return;
                   }
                   else
                   {
                       return;
                   }

               }
               else
               {
                   return;
               }
           }
           catch (Exception ex)
           {
               MessageBox.Show(ex.Message);
               return;
           }
       }
Posted
Updated 28-Apr-14 21:44pm
v2
Comments
mukesh mourya 29-Apr-14 5:06am    
please help me sooooooonn please :(

1 solution

Are you calling Subjectseup() twice?
This would cause the button handler to be called twice.
 
Share this answer
 

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