fill combobox value in datagridview based on other combobox in datagridview

Posted by Purohit Raghu on Stack Overflow See other posts from Stack Overflow or by Purohit Raghu
Published on 2012-10-13T09:04:51Z Indexed on 2012/10/13 9:37 UTC
Read the original article Hit count: 418

Filed under:
|

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(); ;


        }

© Stack Overflow or respective owner

Related posts about c#

Related posts about ASP.NET