i will ask it in other words, if i have grid with tow DataGridViewComboBoxColumn first one for contries and second one for cities , when the user select a country the city combo will have the all cities in the country selected in first grid , i did it like that: bscCountries.datasource=GetAllCountries(); dgvCol_Countries.DataSource =bscCountries; dgvCol_Countries.DisplayMember ="Name"; dgvCol_Countries.ValueMember = "ID"; bscCities.datasource=GetAllCities); dgvCol_Cities.DataSource =bscCities; dgvCol_Cities.DisplayMember ="Name"; dgvCol_Cities.ValueMember = "ID"; private void dgvTimeAtt_CellValueChanged(object sender, DataGridViewCellEventArgs e) { bsc_Cities.filter="CountryId="+dgvCol_Countries.Rows[e.RowIndex].Cell[e.CellIndex].value; } that's work fine but , when i go to next row in the grid and select other country the selected city i choose is gone . How can i fix it?