fill combobox value in datagridview based on other combobox in datagridview
- by Purohit Raghu
I m creating Web Application..in C# I have One Data grid view In that i Have 2 Combo box i m trying 2 bind second combo box based on first combo-box. in First Combo-box I have value Shirt,T shirt so i want if shirt is selected than second combo-box should have value Slim,Regular..and if T shirt Is selected than second Combo-box should have V neck and rounded color. i have different table for thirst and shirt type...
I work fine for first time but when i goes on second row and change the combo box value than it will also change value of second combo box value of previous row as well ..
Where i need to change to prevent change in upper row
i have following code
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {
        if (dataGridView1.CurrentCell.ColumnIndex == 0)
        {
            ComboBox cbx = e.Control as ComboBox;
            cbx.SelectionChangeCommitted -= new EventHandler(cbx_SelectionChangeCommitted);
            cbx.SelectionChangeCommitted += new EventHandler(cbx_SelectionChangeCommitted);
        }
    }
private void cbx_SelectionChangeCommitted(object sender, EventArgs e)
    {
        int selectedIndex = ((ComboBox)sender).SelectedIndex;
        if (selectedIndex == 1) //this condition is true if i have selected shirt from combobox1
        {
                ShirtType();  
        }
        if (selectedIndex == 2)
        {
                Tshirtype();  
        }
    }
void ShirtType()
    {
        try
        {
            string str;
            str = "select ShirtType_name,ShirtType_Id from ShirtType_master";
            ds = new DataSet();
            ds = cn.readdata(str);
            Type.DataSource = ds.Tables[0];//Type is Combobox name of Second Combobox
            Type.DisplayMember = ds.Tables[0].Columns[0].ToString(); ;
            Type.ValueMember = ds.Tables[0].Columns[1].ToString(); ;
        }
        catch (Exception ee)
        {
        }
    }
void Tshirtype()
    {
        try
        {
            string str;
            str = "select TShirtType_name,TshirtType_Id from TshirtType_Master";
            ds = new DataSet();
            ds = cn.readdata(str);
            Type.DataSource = ds.Tables[0];
            Type.DisplayMember = ds.Tables[0].Columns[0].ToString(); ;
            Type.ValueMember = ds.Tables[0].Columns[1].ToString(); ;
        }