I want only the comboBoxes that are in front of the checked checkboxes to be active and the others to be passive. My codes are those. How can I integrate these codes?
private void button1_Click(object sender, EventArgs e) { int i = 0; List<int> ChkedRow = new List<int>(); if (dataGridView1.Rows.Count > 0) for (i = 0; i <= dataGridView1.RowCount - 1; i++) { if (Convert.ToBoolean(dataGridView1.Rows[i].Cells["pid"].Value) == true) { ChkedRow.Add(i); } } if (ChkedRow.Count == 0) { MessageBox.Show("Geziye katilacak personel seçimi yapilmadi. Geziye gidecek personeli seçmek için en bastaki kutucuklari isaretleyiniz!"); return; } DataGridViewComboBoxColumn comboBoxColumn = dataGridView1.Columns["kbaskani"] as DataGridViewComboBoxColumn; if (comboBoxColumn != null) { int yesCount = 0; int rowIndexWithMultipleYes = -1; //Evet sayisini hesaplama ve birden fazla eveti hafizaya alma for (int rowIndex = 0; rowIndex < dataGridView1.Rows.Count; rowIndex++) { DataGridViewRow row = dataGridView1.Rows[rowIndex]; string cellValue = row.Cells[comboBoxColumn.Index].Value?.ToString(); if (cellValue == "Evet") { yesCount++; if (yesCount > 1) { rowIndexWithMultipleYes = rowIndex; break; } } } //Evet sayimina dayali sonuç gösterme if (yesCount == 0) { MessageBox.Show("Kafile baskani seçmediniz. Bir kisi kafile baskani olarak seçilmelidir.", "UYARI", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (yesCount > 1) { MessageBox.Show("Birden fazla kafile baskani seçtiniz. Yalnizca bir kisi kafile baskani olarak seçilmelidir.", "UYARI", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (rowIndexWithMultipleYes != -1) { //1'den fazla kisi seçimi durumunda yapilacak uyari for (int rowIndex = 0; rowIndex < dataGridView1.Rows.Count; rowIndex++) { if (rowIndex != rowIndexWithMultipleYes) { dataGridView1.Rows[rowIndex].Cells[comboBoxColumn.Index].Value = "Hayir"; } } } } }